извлечение подстроки из огромной строки - PullRequest
0 голосов
/ 02 августа 2011

У меня огромная строка. Мне нужно извлечь подстроку из этой огромной строки. Условием является то, что строка начинается с «ТЕХНИЧЕСКОГО» или «ОБОСНОВАНИЯ» и заканчивается числом, любым числом от 1 до 10. Так, например, у меня есть

string x = "Это тест, снова я тестирую. ТЕХНИЧЕСКИЙ: мне нужно извлечь эту подстроку, начиная с тестирования. 8. Это тест снова, снова, снова и снова";

так что мне нужно это

ТЕХНИЧЕСКИЕ: мне нужно извлечь эту подстроку, начиная с тестирования.

Мне было интересно, есть ли у кого-нибудь элегантное решение для этого.

Заранее спасибо.

1 Ответ

0 голосов
/ 02 августа 2011

Вы можете использовать Регулярное выражение для этого.
Пример:

string input = "This is a test, again I am test TECHNICAL: I need to extract this substring starting with testing. 8. This is test again and again and again and again";
string pattern = @"(TECHNICAL|JUSTIFY).*?(10|[1-9])";

System.Text.RegularExpressions.Regex myTextRegex = new Regex(pattern);

Match match = myTextRegex.Match(input );
string matched = null;
if (match.Groups.Count > 0)
{
   matched = match.Groups[0].Value;
}

//Result: matched = TECHNICAL: I need to extract this substring starting with testing. 8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...