Löschen von Zeichen, die einem Muster entsprechen

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.

See Also