说我有字符串“ Old Macdonald拥有一个农场等等”。我想获取子字符串“有一个农场”。在工作“麦克唐纳”之后,直到“农场”一词,我想得到任何东西
因此,字符串中的常量为:
“麦克唐纳德”-我不想包含在子字符串中
“农场”-我想在子字符串中包含该词和结尾词
我一直在尝试合并indexof等函数,但似乎无法使其正常工作
犯罪嫌疑人X
浏览 176回答 3
3回答
炎炎设计
你可以使用RegEx与(?<=Macdonald\s).*(?=\sand)解释正向后看 (?<=Macdonald\s)MacdonaldMacdonald从字面上匹配字符\s 匹配任何空格字符.* 匹配任何字符(行终止符除外)* 量词-在零次和无限制次数之间进行匹配,并尽可能多地匹配,并根据需要返回(贪婪)积极向前 (?=\sand)\s匹配任何空白字符并按and字面意义匹配字符例子var input = "Old Macdonald had a farm and on";var regex = new Regex(@"(?<=Macdonald\s).*(?=\sand)", RegexOptions.Compiled | RegexOptions.IgnoreCase);var match = regex.Match(input);if (match.Success){ Console.WriteLine(match.Value);}else{ Console.WriteLine("No farms for you");}输出had a farm