我在C#中使用Regex
。我想在字符串匹配后再得到5个单词。
Regex regex = new Regex("Born(.*){0,5}");
string result = regex.Match(UrlString).Value;
首先,我需要找到“出生”一词。然后,在找到“出生”一词后,我需要获得下五个单词。
输入:
示例-莫迪出生于瓦德纳加尔(Vadnagar)的古吉拉特(Gujarati)一家人,他帮助他的父亲小时候卖茶,后来又经营了自己的摊位。
结果:
到一个古吉拉特邦的家庭
但是我没有得到想要的结果。
答案 0 :(得分:3)
Regex r = new Regex("Born (?<words>([^ ]+ ){5})");
string input = "asd Born asd asd asd asd asd asd asd asd asd asd Born qwe qwe qwe qwe qwe rtz rtz rtz";
foreach (Match m in r.Matches(input))
{
Console.WriteLine(m.Groups["words"].Value);
}
说明:
(?<words>xxxxxx) // is a group which can be accessed from Matches
[^ ] // All characters except space " "
+ // one or more times
([^ ]+ ) // characters followed by a space => A word
{5} // five words
答案 1 :(得分:0)
string result = UrlString.Substring(UrlString.IndexOf("Born"), 300);
使用正则表达式:
string result = Regex.Match(UrlString,@"Born(.){300}").ToString())