Slette tegn som matcher et mønster

Clojure:
Slette tegn som matcher et mønster

Hvordan gjøre det:

For å slette tegn som matcher et mønster i Clojure, kan du bruke clojure.string/replace funksjonen med et regulært uttrykk.

(require '[clojure.string :as str])

; Eksempel: Fjerne alle vokaler fra en streng
(defn delete-vowels [s]
  (str/replace s "[aeiouAEIOU]" ""))

; Bruk
(delete-vowels "Hei Verden") ; => "H Vrdn"
; Eksempel: Fjerne alle tall fra en streng
(defn delete-digits [s]
  (str/replace s "\\d+" ""))

; Bruk
(delete-digits "Clojure 2023") ; => "Clojure "
; Eksempel: Fjerne spesialtegn, unntatt mellomrom
(defn delete-special-chars [s]
  (str/replace s "[^a-zA-Z0-9 ]" ""))

; Bruk
(delete-special-chars "Hello, Verden!") ; => "Hello Verden"

Dykk dypere

I eldre dager var tekstmanipulasjon kronglete. Med moderne programmeringsspråk som Clojure er det enkelt. clojure.string/replace er en kraftig funksjon som bruker Java’s Pattern klasse under hetten for effektivitet. Alternativer inkluderer manuell iterasjon over strenger eller bruk av biblioteker som clojure.spec for mer kompleks validering og transformasjon.

Regulære uttrykk, som vi bruker her, er kompakte, men kan være kryptiske. Viktig: de matcher mønstre, ikke spesifikke tegn. Å forstå dem krever praksis.

Se også