[Tutorial] Retornando valores de uma string. |
0 | ||
A linguagem lua, como as outras permite que usando padrões corretamente seja retornado o que é pedido. Temos o exemplo: texto = "ol23á l4u5na34tic34os!" O que fazer para ter apenas palavras e descartar os números?Vamos fazer uma pequena função: texto = "l4u5na34tic34os!" apenasTexto = "" for str in texto:gmatch("%a+") do apenasTexto = apenasTexto..str end print(apenasTexto) Como pode ver, o print retornou apenas as letras, Mas porquê? Foi utilizado o string.match e o padrão %a, mas o que esse padrão significa? Simples, cada letra antecedida de % vai retornar algo especifico, neste caso %a retorna apenas uma letra, e nada mais. Podemos usar %a+ para retornar palavras inteiras: texto = "tutorial lua" print(texto:match("%a+")) E agora? tentei retornar as duas palavras e apenas obtive "tutorial"! vamos fazer substituições na string "texto": texto = "tutorial lua" texto = "%a+ lua" texto = "%a+ %a+" Logo o padrão a se usar é %a+ %a+! data = "a data é 22/06/2014" E agora, o que usar para retornar apenas a data? Simples! Já que data é um numero, vamos usar o padrão %d+, já que a data é composta por 2 ou mais números, agora vamos substituir e descobrir o que usar! data = "a data é 22/06/2014" data = "a data é %d+/06/2014" data = "a data é %d+/%d+/2014" data = "a data é %d+/%d+/%d+" logo o padrão a se usar é %d+/%d+/%d+! Mas então, quando vou saber que padrão usar? Você pode encontrar todos os padrões no tópico Sintaxe lua. Ainda têm duvidas? Comente no tópico que será respondido imediatamente! |
Brenower « Censeur » 1403449260000
| 0 | ||
Ótimo tutorial esh |
+Thogabriel « Citoyen » 1403560500000
| 0 | ||
Otimo :)) |
Robonado « Citoyen » 1404429240000
| 0 | ||
Tomara que esse tópico não afunde porque eu não sei isso ainda |
Fofinhoppp « Consul » 1409841660000
| 0 | ||
Revivendo... (Vou precisar disso) |