我有一个这样的字符串
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