Karakters verwijderen die overeenkomen met een patroon

Elixir:
Karakters verwijderen die overeenkomen met een patroon

Hoe te:

In Elixir, gebruik de String.replace/4 functie om karakters te verwijderen die overeenkomen met een patroon. Bekijk deze voorbeelden:

# Verwijder cijfers uit een string
original_string = "Elixir2023Rocks!"
clean_string = String.replace(original_string, ~r/\d/, "")
IO.puts(clean_string) # Uitvoer: "ElixirRocks!"

# Verwijder leestekens
punctuationless_string = String.replace(original_string, ~r/[[:punct:]]/, "")
IO.puts(punctuationless_string) # Uitvoer: "Elixir2023Rocks"

# Verwijder witruimte
no_whitespace_string = String.replace(original_string, ~r/\s/, "")
IO.puts(no_whitespace_string) # Uitvoer: "Elixir2023Rocks!"

Diepgaande duik

Het gebruik van patroonmatching om karakters in strings te verwijderen is niet uniek voor Elixir; het is een algemeen kenmerk in bijna alle programmeertalen, ontwikkeld uit de mogelijkheden van reguliere expressies (regex) in vroege Unix-tools zoals sed en grep. Alternatieven voor String.replace/4 kunnen zijn het gebruik van patroonmatching en recursie om handmatig door een string te gaan en deze aan te passen, maar deze methode is over het algemeen uitgebreider en complexer, waardoor ingebouwde regex-functies een voor de hand liggende keuze zijn. Intern maakt String.replace/4 gebruik van de Erlang-erfenis van Elixir, door de krachtige patroonmatching en stringmanipulatie-mogelijkheden van de BEAM-virtuele machine te benutten.

Zie ook: