Tekstin etsiminen ja korvaaminen

Clojure:
Tekstin etsiminen ja korvaaminen

How to:

Clojurissa käytetään clojure.string/replace funktiota tekstinkorjaukseen. Tässä pari esimerkkiä:

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

; Yksinkertainen korvaus
(str/replace "Moikka maailma" "maailma" "Clojure")
; Output: "Moikka Clojure"

; Säännöllisiin lausekkeisiin perustuva korvaus
(str/replace "Etsi numeroita 123 tästä" #"\d+" "NUMERO")
; Output: "Etsi numeroita NUMERO tästä"

Deep Dive

Tekstin etsiminen ja korvaaminen on vanha käytäntö, ulottuen editorien kuten ed ja sed varhaisiin päiviin Unix-järjestelmissä. Clojure, moderni Lispin sukupolvi, käsittelee tekstin korvauksia funktionaalisesti.

Vaihtoehtoina Clojurelle, voi käyttää toisaalta tekstieditoreita tai komentorivin työkaluja kuten sed ja awk. Clojure eroaa niistä immutaabilisuutensa ja laiskan evaluoinnin avulla, mikä mahdollistaa tehokkaan datankäsittelyn.

Yksityiskohdista, clojure.string/replace voi ottaa myötä funktiot, jotka määrittävät korvauslogiikan dynaamisemmin. Esimerkiksi:

(str/replace "Joku teksti jossa on numeroita 123 ja 456"
             #"\d+"
             (fn [match] (str "<<" match ">>")))
; Output: "Joku teksti jossa on numeroita <<123>> ja <<456>>"

See Also