Elixir:
Löschen von Zeichen, die einem Muster entsprechen
So geht’s:
Elixir bietet eingebaute Funktionen, um mit Mustern und Zeichenketten zu arbeiten. Hier einige Beispiele:
defmodule CharDeleter do
# Löscht alle Ziffern aus einem String
def delete_digits(str) do
Regex.replace(~r/\d/, str, "")
end
# Löscht alle nicht-alphanumerischen Zeichen
def delete_non_alphanumeric(str) do
Regex.replace(~r/[^\w]/, str, "")
end
end
# Nutzung der Funktionen
IO.puts CharDeleter.delete_digits("Hallo123 Welt456")
# Ausgabe: "Hallo Welt"
IO.puts CharDeleter.delete_non_alphanumeric("Hallo-Welt! 123.")
# Ausgabe: "HalloWelt123"
Tiefergehende Einblicke
Früher, in Sprachen wie Perl, war die Verarbeitung von Zeichenketten mit regulären Ausdrücken eine der Kernfunktionen. Elixir, beeinflusst durch Erlang und andere funktionale Sprachen, schlägt eine Brücke zwischen klassischen Mustererkennungsmechanismen und moderner funktionaler Programmierung.
Alternativen zu Regex.replace/3
umfassen String-Funktionen wie String.replace/3
oder String.replace_leading/3
, die ohne reguläre Ausdrücke auskommen. Diese sind gut geeignet, wenn man einfache Zeichen oder Zeichenketten ersetzen möchte.
Beim Implementieren von Musterlöschen ist Effizienz wichtig. Elixir’s Regex
-Modul nutzt die leistungsstarke PCRE-Bibliothek (Perl Compatible Regular Expressions), welche unter der Haube Optimierungen bietet, um schnell und effektiv Zeichenketten zu verarbeiten.
Siehe auch
- Elixir’s offizielle Dokumentation zu
Regex
: https://hexdocs.pm/elixir/Regex.html - Elixir School, eine Community-Ressource, die sich mit Strings beschäftigt: https://elixirschool.com/en/lessons/basics/strings/
- Erlang’s Effizienz Guide, der sich mit Regulären Ausdrücken auseinandersetzt: http://erlang.org/doc/efficiency_guide/regexp.html