2014-10-16 2 views
0

Это кажется достаточно простым, но я не могу это сделать. Мой текстовый файл выглядит следующим образом:Emacs regexp - замена текстовых строк, запрос replace regexp

Johnson Cary, 2009, This important article, 109 pages. 

Smith Tom, 2003, Much ado about nothing: a study, 89 pages. 

мне это нужно:

Johnson Cary%2009%This important article%109 pages. 

Любой специальный символ вряд ли появится в тексте будет делать. Конечная цель состоит в том, чтобы получить .csv, а затем файл .xls.

Я использую

^\([^,]+\)\([,]\) 

найти первую ВОЗНИКАЮЩУЮ запятую, но когда я пытаюсь заменить

\1 % 

он не работает, ни какой-либо вид тесной комбинации такого рода для этого дело.

Любая помощь будет очень приветствуем!

Большое вам спасибо.

+0

Это не заменит * больше *, чем одну запятую, но она отлично подходит для первого. Каким образом это не работает для вас? Обратите внимание, что это не может быть безопасным подходом (доступны экранированные/цитируемые запятые, разрешенные в данных в любом формате?). – phils

+0

Совет при работе с регулярными выражениями заключается в их создании с визуальной обратной связью: http://wikemacs.org/wiki/Regexp – Ehvince

ответ

1

Заменить это:

^\([^,]*\), \([^,]*\), \([^,]*\), \(.*\)$ 

с этим:

\1%\2%\3%\4 

, чтобы получить правильный результат.

+0

Ничего себе! Компьютер работал своей магией! Я должен был спросить 3 часа назад. Спасибо Спасибо. Любовь из Парижа. – Trying

Смежные вопросы