获取两个单词之间的文字

我需要知道如何在两个给定的单词之间得到单词。 遗憾的是我不知道该怎么做。 例如:大家好。

我该怎么做?

如果我理解这个问题……

public static String GetTextBetween(String source, String leftWord, String rightWord) { return Regex.Match(source, String.Format(@"{0}\s(?[\w\s]+)\s{1}", leftWord, rightWord), RegexOptions.IgnoreCase).Groups["words"].Value; } 

使用:

 Console.WriteLine(GetTextBetween("Hello good day", "hello", "day")); 

在msdn上阅读它: 正则表达式

你需要这个方法:

  1. 指数

只需使用IndexOf返回的值将两个单词串起来。

这很简单,如果您需要进一步的帮助 – 请评论。

你可以使用正则表达式和string.Split,以保持正则表达式简单:

 Regex.Match("string here",@"(?<=firstWord).*?(?=secondWord)").Value .Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries) 

最初这里有一个字符串,您想要将前几个字符提取到一个新字符串中。 我们可以在这里使用带有两个参数的Substring实例方法,第一个是0,第二个是所需的长度。

使用Substring [C#]的程序

 using System; class Program { static void Main() { string input = "OneTwoThree"; // Get first three characters string sub = input.Substring(0, 3); Console.WriteLine("Substring: {0}", sub); } } 

产量

子串:一个

参考SubString