2013-10-29 58 views
0

部分我有這樣卸下字符串(可能與正則表達式)

string strAttachment ="3469¥cosmeticsview.png,3470¥SQL.txt"; 

字符串現在我只想"cosmeticsview.png,SQL.txt"從字符串的文件名。關鍵是我只想找到文件名,所以沒有任何數字在開始和「¥」。

現在我所做的是首先我正在做拆分「,」然後我正在拆分「¥」,然後我得到的文件名。有沒有辦法用正則表達式來做到這一點。

+0

這肯定不會是任何使用正則表達式更快;) – Stormenet

+1

爲什麼你認爲這是可以做到更快?你有任何性能問題?你是否在網上搜索你的問題? – CodeCaster

+0

不,我在這裏沒有任何性能問題。我想要的是一個通用的解決方案..我認爲正則表達式會使東西更小線,然後分裂兩次.. – nrsharma

回答

1

你可以用\d+¥模式做到這一點:

string strAttachment = "3469¥cosmeticsview.png,3470¥SQL.txt"; 
var result = Regex.Replace(strAttachment, @"\d+¥", ""); 

但我不認爲正則表達式會比子的使用速度更快:

strAttachment.Split(',').Select(s => s.Substring(s.IndexOf('¥') + 1)); 
+0

有沒有更快的方法來做到這一點? – nrsharma

+0

性能將不會是一個問題,無論字符串有多大..除非你的正則表達式包含'。*'這可能導致很多回溯 – Anirudha

1

你能做到這樣

Regex.Split(input,@",?\d+¥") 
+0

好的選擇也 - 我總是忘記正則表達式的分割方法 –

相關問題