在字符串中显示下一组单词

本文关键字:一组 单词 字符串 显示 | 更新日期: 2023-09-27 18:35:06

我有以下代码:

 int numberOfWords = 50;
 string regexMatch = string.Format(@"^('w+'b.*?){{" + numberOfWords + "}}");
 string firstWords = Regex.Match(result, regexMatch).Value;

此代码显示字符串中的前 50 个单词。现在我想显示接下来的 50 个单词(第 51 个单词到第 100 个单词)。我该怎么做?

在字符串中显示下一组单词

您可以使用相同的正则表达式,但从前 5o 个单词开始。由于您在 firstWords 中有前 50 个单词,因此我们必须在这 50 个单词之后开始。因此,我们将在 firstWords 中的五十个单词之后获取结果的子字符串。firstWords.Length将成为第二个5o单词正则表达式的新起点。

 string secondWords = Regex.Match(result.Substring(firstWords.Length).Trim(), regexMatch).Value;

如果要匹配多个string

像这样的代码:

List<string> Words = new List<string>();
for(int i = 0; (result.Length - (i * numberOfWords)) < numberOfWords; i++)
{
    Words.Add(Regex.Match(result.Substring(i * numberOfWords).Trim(), regexMatch).Value)
}

你会得到字符串中存在的 50 个单词的列表!但是,如果在string末尾的单词少于 50 个,则不会将这些单词添加到Words列表中。