2013-07-31 244 views
0

我有一个相当复杂的数据文件,许多不同类型的行很多。对于特定的列我感兴趣的我有一个看起来像这样的模式:之前和之后在每个入口的那件小数可能会有所不同正则表达式替换字符串

12.6 \pm 0.8  

^^的位数。

我希望我可以使用正则表达式来取代列项: [12.6,-0.8,+ 0.8]

我所要求的帮助是我应该如何去更换一次我我发现了像我之前所做的那样的条目。到目前为止我发现的所有例子都是为了当你想用其他静态字符串替换静态字符串,但是对于每一行我都会有不同的数字(也许不同的数字)。正则表达式到目前为止,我试图找到像“12.6 \ 0.8分”项如下:

\d*\.\d*\s\\\w{2})\s\d*\.\d* 

我也希望如果我能得到的是一张支票,太。目前我只是在文本编辑器中操作数据文件,但我也对Python解决方案开放。

谢谢!

回答

1

你的表情很接近。有没有什么条件,这将无法正常工作?

(\d*\.\d*)\s\\\w{2}\s(\d*\.\d*) 

与替换模式(根据http://www.emacswiki.org/emacs/RegularExpression

[\1, -\2, \2] 
+0

嗯,似乎并没有工作是(对于JS)

[$1, -$2, $2] 

或emacs的。有什么建议么?如果有帮助,我一直在emacs文本编辑器中进行编辑 - >替换正则表达式,然后键入解决方案。 – astromax

+1

针对emacs语法进行了修改 - 希望它是正确的。 –

+0

真棒,谢谢!那为我做了。 – astromax