Slette tegn som matcher et mønster

Elixir:
Slette tegn som matcher et mønster

Hvordan:

# Med Regex.replace/3 kan vi enkelt slette tegn som matcher et mønster

# Slette alle ikke-numeriske tegn fra en streng
slettet_pattern = Regex.replace(~r/[^\d]/, "Telefon: 123-456-7890", "")
IO.puts(slettet_pattern) # => "1234567890"

# Slette alle vokaler fra en streng
slettet_vokaler = Regex.replace(~r/[aeiouyæøå]/i, "Heisann, dette er en test", "")
IO.puts(slettet_vokaler)  # => "Hsnn, dtt r n tst"

Deep Dive

Elixir bruker regex, eller regulære uttrykk, for å identifisere tegnmønstre. Regex har sine røtter i teoretisk informatikk og ble populært i Unix-verktøy på 70-tallet. Det gjør tekstmanipulasjon kraftig og fleksibelt.

Alternativt kan du bruke String-funksjoner som String.replace/3, men de er begrenset til enkle erstatninger. Regex gir mer avanserte mønstre.

Implementasjonsdetaljer for sletting med mønster kommer ned til å definere det riktige uttrykket som matcher tegnene som skal fjernes og anvende det gjennom Regex-modulen i Elixir. Effektiviteten av dette avhenger av kompleksiteten til mønsteret og lengden på strengen.

Se Også