2014-10-16 38 views
0

看起来很简单,但我无法完成。 我的文本文件看起来像这样:Emacs正则表达式 - 替换文本字符串,查询替换正则表达式

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 2014-10-16 22:41:50

+0

使用正则表达式时的提示是使用视觉反馈构建它们:http://wikemacs.org/wiki/Regexp – Ehvince 2014-10-17 09:50:12

回答

1

替换此:

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

与此:

\1%\2%\3%\4 

,以获得正确的结果。

+0

哇!电脑工作的神奇!我应该在3小时前问过。谢谢谢谢。来自巴黎的爱。 – Trying 2014-10-16 22:44:35