A comparação de strings em Lua pode ser feita utilizando os operadores de comparação (==, !=).
Para auxiliar, as funções tower e toupper podem ser utilizadas.
Exemplo 12
str1 = "string"
str2 = "string"
str3 = "String"
print(str1 == str2)
print(str1 == str3)
print(string.lower(str1) == string.lower(str3))
Saída
true
false
true
A verificação de string vazia pode ser feita utilizando if not ou a função
string.len que retorna a quantidade de caracteres de uma string:
Exemplo 13
local minha_string = "str";
if string.len(minha_string) == 0 then
print(minha_string,"vazia")
else
print(minha_string,"cheia")
end
Saída
str cheia
Exemplo 14
local str2
if not str2 then
print(str2,"vazia")
else
print(str2,"cheia")
end
Saída
nil vazia
Usando o operador (==) e nil, podemos verificar se uma string é nula como mostrado
no exemplo abaixo:
Exemplo 15
local str3 = nil
if str3 == nil then
print(str3,"nula")
else
print(str3,"não nula")
end
Saída
nil nula
A comparação lexigráfica em lua é feita utilizando os operadores relacionais <, >, <=, >= como
pode ser visto no exemplos abaixo:
Exemplo 16
local str1 = "abra"
local str2 = "abrir"
local str3 = "aberto"
print(str1 < str2)
print(str2 > str1)
print(str3 > str1)
Saída
true
true
false