Эквивалент html.unescape для Python в Clojure

#clojure

#clojure

Вопрос:

В Python3 у нас есть такая функция

 Python 3.8.5 (v3.8.5:580fbb018f, Jul 20 2020, 12:11:27) 

>>> from html import unescape

>>> unescaped = unescape("here is amp;#39; apostrophe")

>>> print(unescaped)

here is ' apostrophe
>>>
  

У меня возникли проблемы с поиском эквивалента в Clojure. Существует ли функция базовой библиотеки.

Комментарии:

1. Я бы не ожидал , что он будет существовать в стандартной библиотеке Clojure; это пахнет как нечто, уже охваченное Java, JavaScript или другими библиотеками, зависящими от платформы, к которым Clojure предоставляет доступ, где было бы очень мало пользы от переопределения колеса.

Ответ №1:

Библиотека apache.commons.text может выполнить эту работу:

 (ns tst.demo.core
  (:use tupelo.core tupelo.test)
  (:import
    [org.apache.commons.text StringEscapeUtils]))

(dotest
  (let [hng      "hi amp; goodbye"
        encoded  (StringEscapeUtils/escapeHtml4 hng)]
    (is= encoded "hi amp;amp; goodbye")
    (is= hng (StringEscapeUtils/unescapeHtml4 encoded))))
  

На сайте Apache есть полные документы API.