C # Regex для разбиения строки на элемент параметра - PullRequest
1 голос
/ 23 сентября 2009

Как разделить строку с помощью регулярных выражений, чтобы получить результат следующим образом:

input = "@IDNumber==123;@Title==\"Tool Designer\";@HireDate==\"1999-03-30\";@UKCode==\"IX-IHNR\";@UKCAT==\"BR=XXX==YYYY\";@CountryCode==\" \";@AdvisorCode==655;@AdvisorXX==\"\"";

Результат, который я хотел бы получить:


1) @IDNumber==123;

2) @Title=="Tool Designer"

3) @HireDate=="1999-03-30"

4) @UKCode=="IX-IHNR"

5) @UKCAT=="BR=XXX==YYYY"

6) @CountryCode==" "

7) @AdvisorCode==655

8) @AdvisorXX==""

Большое спасибо

Ответы [ 3 ]

2 голосов
/ 23 сентября 2009

Вам не нужно регулярное выражение - используйте String.Split, например:

using System;

class Example
{
    static void Main()
    {
        String input = "@IDNumber==123;@Title==\"Tool Designer\";@HireDate==\"1999-03-30\";@UKCode==\"IX-IHNR\";@UKCAT==\"BR=XXX==YYYY\";@CountryCode==\" \";@AdvisorCode==655;@AdvisorXX==\"\"";

        foreach (String s in input.Split(';'))
            Console.WriteLine(s);
    }
}
0 голосов
/ 23 сентября 2009

Это регулярное выражение:

@NAME==(.*?);?(@|$)

при сопоставлении замените NAME на имя вашего параметра и получите значение второй группы:

var value = Regex.Match(input, "@IDNumber==(.*?);?(@|$)").Groups[1].Value;
0 голосов
/ 23 сентября 2009

Снято в темноте:

input.Split(';');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...