使用正则表达式编辑分隔的字符串

时间:2010-02-04 15:54:36

标签: c# regex delimited-text

我有一个字符串,我想编辑它的一部分。 字符串就像

“1:5,7:9,13:20130:510134:2中,”

现在我想要做的就是删除这些数字的第一部分,如

“5,9,20,540,2,”

我尝试了一堆组合,但没有达到我的预期。

Regex rx = new Regex("[:]\\d+[,]");
    foreach (Match mx in rx.Matches("10:20,20:30,"))
    {
        Muhaha.InnerText += mx;
    }

它返回“:20,:30”,但我想只捕获数字,坚持标点符号。

2 个答案:

答案 0 :(得分:2)

如何使用Replace呢?

Regex r = new Regex("\\d+:");
string str = r.Replace("1:5,7:9,13:20,130:510,134:2,", "");
Console.WriteLine(str);

打印:

5,9,20,510,2,

答案 1 :(得分:0)

试试这个,如果你想在加入之前操纵这些数字(如果没有,你应该使用@Aistina回答):

foreach(Match m in Regex.Matches(
    "1:5,7:9,13:20,130:510,134:2,", 
    @":(?'number'\d+)"))
{
    Console.WriteLine(m.Groups["number"].Value);
}