2015-05-01 1 views
-1

Я пытаюсь разделить строку на кавычкой в ​​Clojure REPL, как это:Разбиение строки на обратный апостроф в Clojure

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

user> (str/split "1=/1`2=/2'" #"`'") 

Результат:

["1=/1`2=/2'"] 

Короче говоря, я m невозможно разделить на символ обратного хода. И я не знаю, почему. Как я могу сделать эту работу?

p.s: Обратите внимание на апостроф в конце строки и в аргументе split. Они автоматически вставлены в repl.

+0

'(clojure.string/Раскол "1 =/1'2 =/2' " # "'") 'работает на моих локальных настроек. Я протестировал его против REPL, вызванного 'lein repl' и Emacs/CIDER. Возможно, у вашего REPL что-то не так. – tnoda

+1

мой реплика не добавляет автоматически вставленный '' '. Возможно, это из-за эмулятора терминала, вы должны попробовать «rlwrap lein repl» или CIDER Repl, например. – zarkone

+0

спасибо, попробовал в замене лейна, работает отлично. это в emacs cider repl, добавлен дополнительный », который испортил выражение. – user3302983

ответ

1

У вас есть дополнительный ' в вашем регулярном выражении.

Это прекрасно работает:

(str/split "1=/1`2=/2'" #"`") 
+0

спасибо. true, режим par-edit в emacs cider repl добавляет этот дополнительный апостроф к выражению. но он отлично работает в лейн-реплике. – user3302983