Retirer les guillemets d'une chaîne

Clojure:
Retirer les guillemets d'une chaîne

Comment faire :

Dans Clojure, les chaînes sont immuables, donc quand nous parlons de “supprimer les guillemets”, nous parlons réellement de créer une nouvelle chaîne sans guillemets. Voici l’essentiel en utilisant clojure.string/replace :

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

; Ditchons ces guillemets doubles
(defn remove-double-quotes [s]
  (str/replace s #"\"" ""))

; Et éjectons les guillemets simples
(defn remove-single-quotes [s]
  (str/replace s #"\'" ""))

; Exemple d'utilisation :
(remove-double-quotes "\"Bonjour, le Monde !\"") ; => "Bonjour, le Monde !"
(remove-single-quotes "'Bonjour, le Monde !'")   ; => "Bonjour, le Monde !"

Vous voulez gérer les guillemets simples et doubles en un seul coup ? Jetez un œil à ceci :

(defn remove-quotes [s]
  (str/replace s #"[\"\']" ""))

; Exemple d'utilisation :
(remove-quotes "\"Bonjour, 'Clojure' Monde !\"") ; => "Bonjour, Clojure Monde !"

Exploration Approfondie

À l’époque où les données étaient plus désordonnées qu’une chambre d’enfant, les guillemets dans les chaînes étaient la norme pour désigner le texte. Mais à mesure que l’informatique a évolué, les guillemets sont devenus plus que de simples délimiteurs de texte—ils ont pris un rôle syntaxique dans les langages de programmation.

Clojure, avec son héritage Lisp, n’utilise pas les guillemets de la même manière que certains autres langages pourraient le faire. Ils sont utilisés pour dénoter les chaînes, c’est sûr, mais ils ont également un rôle spécial dans la création de littéraux. Néanmoins, supprimer les guillemets des chaînes reste une tâche intemporelle.

Pourquoi ne pas simplement trancher les extrémités d’une chaîne ? Eh bien, cela suppose que vos guillemets sont toujours collés au début et à la fin de votre chaîne comme une paire de grands-parents trop affectueux. Les données du monde réel sont plus désordonnées. Entrez les expressions régulières (regex), qui vous permettent de cibler ces guillemets peu importe où ils se cachent.

Des alternatives ? Bien sûr, vous pouvez vous la jouer sophistiqué avec subs, trim, triml, trimr, ou même des transducteurs si vous voulez frimer. Mais replace avec regex, c’est comme apporter un sabre laser à un combat au couteau—ça coupe court à la discussion.

Voir Aussi

Si votre cerveau démange pour plus de bonnes astuces de manipulation de chaînes en Clojure, ces miettes de pain pourraient aider :

Ne vous arrêtez pas simplement à la suppression des guillemets. Il y a tout un monde de magie des chaînes là-bas dans le pays de Clojure qui attend d’être découvert.