Видалення лапок зі строки

Clojure:
Видалення лапок зі строки

Як це зробити:

У Clojure рядки є незмінними, тому коли ми говоримо про “видалення лапок”, ми насправді говоримо про створення нового рядка без лапок. Ось основні моменти використання clojure.string/replace:

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

; Давайте позбудемося подвійних лапок
(defn remove-double-quotes [s]
  (str/replace s #"\"" ""))

; І вигонимо одинарні лапки
(defn remove-single-quotes [s]
  (str/replace s #"\'" ""))

; Приклад використання:
(remove-double-quotes "\"Привіт, Світ!\"") ; => "Привіт, Світ!"
(remove-single-quotes "'Привіт, Світ!'")   ; => "Привіт, Світ!"

Хочете впоратися з одинарними та подвійними лапками одним махом? Зверніть увагу на це:

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

; Приклад використання:
(remove-quotes "\"Привіт, 'Clojure' Світ!\"") ; => "Привіт, Clojure Світ!"

Поглиблений Розгляд

Колись, коли дані були більш заплутаними, ніж дитяча кімната, лапки в рядках були нормою для позначення тексту. Але з розвитком комп’ютерних наук лапки стали більше, ніж просто делімітатори тексту — вони почали виконувати синтаксичні ролі в мовах програмування.

Clojure, із його спадщиною Lisp, не використовує лапки так само, як деякі інші мови. Вони, безсумнівно, використовуються для позначення рядків, але також мають спеціальну роль у створенні літералів. Тим не менш, видалення лапок з рядків залишається вічним завданням.

Чому просто не вирізати кінці рядка? Ну, це припущення, що ваші лапки завжди обіймають початок і кінець вашого рядка, як пара надто ласкавих бабусь і дідусів. Реальні дані більш заплутані. Тут на допомогу приходять регулярні вирази (regex), які дозволяють цілитися в ці лапки, де б вони не ховалися.

Альтернативи? Звичайно, ви можете стати вишуканими з subs, trim, triml, trimr або навіть трансдьюсерами, якщо хочете похизуватися. Але replace з regex - це як принести світловий меч на бійку з ножами - це прямо до справи.

Дивіться також

Якщо ваш мозок прагне до більшого знання про маніпуляції з рядками в Clojure, ці підказки можуть допомогти:

Не зупиняйтеся лише на видаленні лапок. У світі Clojure є ціле королівство магії рядків, яке чекає, щоб ви його відкрили.