Clojure:
Löschen von Zeichen, die einem Muster entsprechen
How to:
(defn delete-matching-chars [pattern string]
(clojure.string/replace string (re-pattern pattern) ""))
;; Beispiel: Entferne alle Ziffern aus dem String
(println (delete-matching-chars "\\d+" "Heute ist der 4. April 2023"))
;; Ausgabe: Heute ist der . April
;; Beispiel: Entferne alle nicht-alphanumerischen Zeichen
(println (delete-matching-chars "[^\\w]" "Clojure 1.10! Fantastisch, oder?"))
;; Ausgabe: Clojure 110 Fantastisch oder
Deep Dive
Das Löschen von Zeichen nach einem Muster hat in der Programmierung eine lange Geschichte. Ursprünglich in den 1950ern in Zusammenhang mit dem Text-Editor ed komputiert, ist es jetzt ein Grundbaustein in den meisten modernen Programmiersprachen. In Clojure, einer modernen Lisp-Dialekt, nutzt man clojure.string/replace
zusammen mit regulären Ausdrücken, um diese Funktionalität umzusetzen. Die Java-Virtual-Maschine (JVM), auf der Clojure läuft, bietet robuste Unterstützung für reguläre Ausdrücke, was Clojure-Entwickler stark von profitieren können. Alternativ könnte man auch filter
-Funktionen verwenden, aber für einfache Zeichenersetzungen sind reguläre Ausdrücke oft effizienter und lesbarer.