2013-07-31 289 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