0
私はREPLでこれを試してみましたreturn
とuby
となります。Clojureの '\ r' が
私は\r
が特別だと知っています。
cljファイルで\ruby
を取得するにはどうすればよいですか?なぜREPLで\ruby
= \ruby
?
私はREPLでこれを試してみましたreturn
とuby
となります。Clojureの '\ r' が
私は\r
が特別だと知っています。
cljファイルで\ruby
を取得するにはどうすればよいですか?なぜREPLで\ruby
= \ruby
?
(clojure.string/replace s match replacement)
ドキュメントでは、置換はリテラルであり、文字列内で特別に扱われる文字はありませんが、$1
$2
程度です。
交換品をそのまま使用する場合は、(clojure.string/re-quote-replacement r)
を使用して交換してください。あなたがその機能を確認した場合しかし、それはバックスペース用の4つのバックスペースを生成します。
(clojure.string/replace "abc<def>" #"(\w+)<(\w+)>" "\\\\ruby{$1}{$2}") ;;=> "\\ruby{abc}{def}"
それは動作します:
だから、それゆえ
\\\\
作業をする必要があり、そのバックスラッシュをエスケープする必要がありそうです。今私は出力に1つの\を取得します。ありがとう。 –それでは、私の答え@avalan_cheを受け入れてみませんか? –
申し訳ありませんが、忘れました - あなたの答えをテストするのを待つことができませんでした。 –