Clojure:
Usuwanie znaków pasujących do wzorca
How to:
Jak to zrobić:
(defn delete-matching-chars [pattern text]
(clojure.string/replace text (re-pattern pattern) ""))
;; Przykład użycia:
(let [text "Cześć!## To jest 123 test."]
(println (delete-matching-chars "[0-9#]" text)))
;; Wynik: "Cześć! To jest test."
Deep Dive
Wgłębienie:
W Clojure, tak jak w innych językach programowania, teksty możemy przetwarzać wykorzystując wyrażenia regularne (regex). Wyrażenia te istnieją od wczesnych lat ‘50, ale Clojure wykorzystuje Java Regex API, które jest młodsze. Usunięcie znaków pasujących do wzorca jest standardową operacją w przetwarzaniu tekstów, zwłaszcza w analizie danych i skryptach. Alternatywy to między innymi operacje filtrowania sekwencji lub użycie bibliotek zewnętrznych dla specyficznych przypadków. Warte odnotowania jest, że clojure.string/replace
potrafi przyjąć re-pattern jako argument, co ułatwia pracę z regexami w Clojure.
See Also
Zobacz również:
- ClojureDocs, gdzie znajdziesz więcej na temat
clojure.string/replace
- Java Regex API - poznaj mechanizmy używane przez Clojure
- Clojure from the ground up: regular expressions - artykuł wprowadzający w wyrażenia regularne w Clojure