从字符串中删除部分(可能使用正则表达式)

时间:2013-10-29 11:20:48

标签: c# regex

我有一个像这样的字符串

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

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

现在,我正在做的事情是,我正在拆分“,”然后我正在拆分“¥”,之后我得到了文件名。有没有办法用正则表达式来做。

3 个答案:

答案 0 :(得分: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));

答案 1 :(得分:1)

你可以这样做

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

答案 2 :(得分:0)

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

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