2014-04-03 40 views
0

我有一個凌亂的名單,我試圖擺脫一切的除了價格,這確實有在前面一個美元符號$。如何刪除除了價格一切?

他們不具有相同的位數,但。有些是「$ X.XX」等是「$ XX.XX」

如果可能的話,我希望能夠在價格之間插入一個「+」,所以它會看起來像「$ X.XX + $ XX.XX + ......」

我試圖尋找,但解決方案並沒有爲我工作(他們使用了英鎊的象徵,雖然,這可能需要一個不同的查詢)

+1

你能不能給我們在列表中的實線的一個實例。基本上,你試圖去除什麼。 – Hamatti

回答

0

你可以使用這個(應與記事本工作++):

search: (?>[^$]+|\$(?!\d{1,2}\.\d{2}))*(\$\d{1,2}\.\d{2}) 
replace: $1+ 

(或search: .*?(\$\d{1,2}\.\d{2})

和你手工刪除最後一個+

0

以滿足您的價格正則表達式是

\$\d+\.\d+ 

其中\$是一個美元符號(記住,你需要轉義因爲剛$意味着字符串的結尾,\d+意味着至少一個數字,\.點(再次逃脫因爲.意味着任何字符)

這將匹配 $1.2$24.67

在崇高的文本,那麼你可以通過使用Find-Replace除去一切:

發現:.*(\$\d*\.\d*).*

取代:$1

product1 $14.22 categoryA 
product2 $5.2 categoryA 
product3 $0.2456 categoryB 

將成爲

$14.22 
$5.2 
$0.2456