Hitta längden på en sträng

Lua:
Hitta längden på en sträng

Hur gör man:

För att fånga längden på en sträng i Lua, använd # operatorn. Kolla här:

local str = "Hej, Sverige!"
print(#str)  -- Output: 13

Enkelt, inte sant? Notera att # ger rätt resultat även med Unicode-tecken:

local unicodeStr = "Åäö"
print(#unicodeStr)  -- Output kan variera beroende på din Lua-version och system

Får du konstiga resultat? Oroa dig inte, vi dyker in i detaljerna i nästa del.

Deep Dive

I historien har Lua-användare använt string.len() funktionen, men # operatören är den moderna, smidiga vägen.

local str = "Äventyr"
print(string.len(str))  -- Samma som #str

Men, en varning: # hanterar Unicode-tecken olika beroende på Lua-version och systemets strängimplementering. Lua 5.3 och senare hanterar det bättre genom UTF-8-aware funktioner som utf8.len():

local str = "Räksmörgås"
print(utf8.len(str))   -- Output: 11, om din Lua-version stödjer det

Detta är viktigt när du arbetar med flerspråkiga eller internationella applikationer – t.ex. när en användare skriver på svenska och du vill räkna antalet bokstäver korrekt.

Se även: