我有一个巨大的字符串。我需要从那个巨大的字符串中提取一个子字符串。条件是字符串以“技术”或“JUSTIFY”开头,以数字结尾,任何数字从1到10.例如,我有
string x =“这是一个测试,我再次测试技术:我需要从测试开始提取这个子字符串.8。这是一次又一次的测试”;
所以我需要这个
技术:我需要从测试开始提取这个子字符串。
我想知道某人是否有优雅的解决方案。
提前致谢。
答案 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