2

我需要知道如何获得两个给定单词之间的单词。不幸的是,我不知道该怎么做。例如:你好,美好的一天。

我该怎么做?

4

4 回答 4

8

如果我正确理解这个问题......

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 上阅读它:正则表达式

于 2013-03-31T20:09:59.070 回答
1

您需要为此提供方法:

  1. 指数
  2. 子串

只需使用 IndexOf 返回的值对这两个词进行子字符串化。

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

于 2013-03-31T20:06:30.820 回答
0

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

Regex.Match("string here",@"(?<=firstWord).*?(?=secondWord)").Value
    .Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries)
于 2013-03-31T20:12:19.067 回答
0

最初,您有一个字符串,并且您想将前几个字符提取到一个新字符串中。我们可以在这里使用带有两个参数的 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);
    }
}

输出

子串:一

参考子串

于 2013-03-31T20:31:02.630 回答