редактировать строку с разделителями с помощью регулярного выражения - PullRequest
0 голосов
/ 04 февраля 2010

У меня есть строка, которую я хочу отредактировать. строка похожа на

"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 ]

2 голосов
/ 04 февраля 2010

Как насчет использования 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,
0 голосов
/ 04 февраля 2010

Попробуйте, если вы хотите манипулировать этими числами перед тем, как присоединиться к ним (если нет, вам следует ответить @ 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...