Emacs regexp-替换文本字符串,查询替换regexp

Emacs regexp-替换文本字符串,查询替换regexp,regex,emacs,Regex,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文

这似乎很简单,但我做不成。 我的文本文件如下所示:

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 %
它不起作用,也没有任何类似的紧密结合

欢迎任何帮助

提前非常感谢。

替换此:

^\([^,]*\), \([^,]*\), \([^,]*\), \(.*\)$
为此:

\1%\2%\3%\4

以获得正确的结果。

这不会替换多个逗号,但对于第一个逗号来说效果很好。在什么方面它对你不起作用?请注意,这可能不是一种安全的方法(数据中是否允许任何格式的转义/引号?)。使用regexp时的一个提示是使用视觉反馈构建它们:哇!计算机发挥了它的魔力!我应该在三个小时前问的。谢谢,谢谢。来自巴黎的爱。