Finn lengden på en streng

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å: