0

我有一个这样的字符串

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

现在我只想要"cosmeticsview.png,SQL.txt"字符串中的文件名。关键是我只想找到文件名,所以开头和“¥”中没有任何数字。

敌人现在我正在做的是首先我在“,”上进行拆分,然后我在“¥”上进行拆分,然后我得到文件名。有没有办法用正则表达式来做到这一点。

4

3 回答 3

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));
于 2013-10-29T11:23:11.310 回答
1

你可以这样做

Regex.Split(input,@",?\d+¥")
于 2013-10-29T11:23:50.577 回答
0

您可以使用 Subsrting(startindex, length) 使用 ¥ 的索引作为开始,从总长度和“,”的索引计算长度。

http://msdn.microsoft.com/en-us/library/system.string.substring.aspx

于 2013-10-29T11:24:02.847 回答