部分我有這樣卸下字符串(可能與正則表達式)
string strAttachment ="3469¥cosmeticsview.png,3470¥SQL.txt";
字符串現在我只想"cosmeticsview.png,SQL.txt"
從字符串的文件名。關鍵是我只想找到文件名,所以沒有任何數字在開始和「¥」。
現在我所做的是首先我正在做拆分「,」然後我正在拆分「¥」,然後我得到的文件名。有沒有辦法用正則表達式來做到這一點。
部分我有這樣卸下字符串(可能與正則表達式)
string strAttachment ="3469¥cosmeticsview.png,3470¥SQL.txt";
字符串現在我只想"cosmeticsview.png,SQL.txt"
從字符串的文件名。關鍵是我只想找到文件名,所以沒有任何數字在開始和「¥」。
現在我所做的是首先我正在做拆分「,」然後我正在拆分「¥」,然後我得到的文件名。有沒有辦法用正則表達式來做到這一點。
你可以用\d+¥
模式做到這一點:
string strAttachment = "3469¥cosmeticsview.png,3470¥SQL.txt";
var result = Regex.Replace(strAttachment, @"\d+¥", "");
但我不認爲正則表達式會比子的使用速度更快:
strAttachment.Split(',').Select(s => s.Substring(s.IndexOf('¥') + 1));
你能做到這樣
Regex.Split(input,@",?\d+¥")
好的選擇也 - 我總是忘記正則表達式的分割方法 –
您可以使用以¥作爲起點索引的Subsrting(startindex,length),計算長度從「,」的總長度和索引開始。
http://msdn.microsoft.com/en-us/library/system.string.substring.aspx
這肯定不會是任何使用正則表達式更快;) – Stormenet
爲什麼你認爲這是可以做到更快?你有任何性能問題?你是否在網上搜索你的問題? – CodeCaster
不,我在這裏沒有任何性能問題。我想要的是一個通用的解決方案..我認爲正則表達式會使東西更小線,然後分裂兩次.. – nrsharma