从一个巨大的字符串中提取子字符串

时间:2011-08-02 18:08:31

标签: c#-3.0

我有一个巨大的字符串。我需要从那个巨大的字符串中提取一个子字符串。条件是字符串以“技术”或“JUSTIFY”开头,以数字结尾,任何数字从1到10.例如,我有

string x =“这是一个测试,我再次测试技术:我需要从测试开始提取这个子字符串.8。这是一次又一次的测试”;

所以我需要这个

技术:我需要从测试开始提取这个子字符串。

我想知道某人是否有优雅的解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式。
例如:

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