Clojure:
Recherche et remplacement de texte
How to:
;; Recherche et remplacement simple avec `clojure.string/replace`
(require '[clojure.string :as str])
;; Exemple: Remplacer "chien" par "chat"
(str/replace "J'ai un chien et un chien." "chien" "chat")
;; => "J'ai un chat et un chat."
;; Utilisation d'une expression régulière (regex) pour remplacer toutes les occurrences d'une chiffre par un '#'
(str/replace "Les numéros 12345 sont importants." #"\d" "#")
;; => "Les numéros ##### sont importants."
;; Remplacer avec une fonction de correspondance
(str/replace "Je veux XXL et non L" #"\b[X]+\b" (fn [match] (clojure.string/lower-case match)))
;; => "Je veux xxl et non L"
Deep Dive
Avant, on manipulait de gros blocs de texte manuellement, fatiguant, n’est-ce pas ? Aujourd’hui, avec les langages de programmation comme Clojure, on utilise des fonctions ou des regex.
Pourquoi regex ? Ils sont puissants, précis, mais peuvent être complexes. Clojure simplifie la tâche avec clojure.string/replace
, qui cache la complexité des regex.
D’autres options existent, comme sed
en ligne de commande ou des bibliothèques spécialisées. Clojure même fournit plus de contrôle avec des librairies telles que re-find
, re-seq
, re-matches
pour des cas plus avancés.
L’implémentation dans Clojure est efficace grâce à l’interopérabilité avec Java et sa java.util.regex
API. Cela rend les opérations de texte robustes et performantes.