我需要知道如何获得两个给定单词之间的单词。不幸的是,我不知道该怎么做。例如:你好,美好的一天。
我该怎么做?
如果我正确理解这个问题......
public static String GetTextBetween(String source, String leftWord, String rightWord)
{
return
Regex.Match(source, String.Format(@"{0}\s(?<words>[\w\s]+)\s{1}", leftWord, rightWord),
RegexOptions.IgnoreCase).Groups["words"].Value;
}
采用:
Console.WriteLine(GetTextBetween("Hello good day", "hello", "day"));
在 msdn 上阅读它:正则表达式
您可以使用正则表达式和 string.Split 以保持正则表达式简单:
Regex.Match("string here",@"(?<=firstWord).*?(?=secondWord)").Value
.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries)
最初,您有一个字符串,并且您想将前几个字符提取到一个新字符串中。我们可以在这里使用带有两个参数的 Substring 实例方法,第一个是 0,第二个是所需的长度。
使用子字符串的程序 [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);
}
}
输出
子串:一
参考子串