Elixir:
Finn lengden på en streng
Hvordan gjøre det:
# Finn lengden på en streng med String.length/1
str = "Hei, Norge!"
length = String.length(str)
IO.puts(length)
Output:
11
Dypdykk
Tilbake i tiden, før Unicode, var strenglengde og antall byte ofte det samme. I Elixir jobber String.length/1
med Unicode og gir antall grafemer, ikke byte. Skal du telle byte, bruk byte_size/1
. Alternativer inkluderer å bruke regex eller egendefinerte funksjoner, men String.length/1
er mest effektiv for Elixir-strenger.
Implementasjonsmessig sørger Elixir for at String.length/1
korrekt håndterer Unicode og gir et nøyaktig antall grafemer, som kan være mer enn antall bytes på grunn av hvordan noen tegn lagres.
Se også:
- Elixir’s offisielle String-modul dokumentasjon
- The Unicode Consortium for mer utfyllende info om Unicode håndtering.
- RegExr for å leke med regular expressions og strenger.