查找字符串后的下一个单词

本文关键字:下一个 单词 字符串 查找 | 更新日期: 2023-09-27 18:21:57

所以我有下面的方法,它将扫描单词列表,找到"Control Number:"并将其设置为wordNumber,然后将下一个单词设置为controlNum(这是我要返回的字符串)。

public string ABSFindControlNumber(List<tessnet2.Word> wordList)
        {
    for (int i = 0; i < wordList.Count; i++)
                    {
                        if (wordList[i].Text == "Control Number:" && wordList[i].Confidence >= 50)
                        {
                            string wordNumber = wordList[i].Text.ToString();
                            controlNum = wordList[i + 1].Text.ToString();
                            return controlNum;
        }
        }
}

但在发现如何使用RegEx使用类似方法后。我想看看是否有办法将controlNum设置为下一个单词。我对某些字母/数字有几个不同的大小写,以防找不到确切的单词。

if (Regex.IsMatch(text, @"c(0|o)ntr(0|o)(l|1|i)'s+nu(in|m)ber(:|;|s)", RegexOptions.IgnoreCase))
 {
                controlNum = ???
 }

查找字符串后的下一个单词

您可以这样做:

string text = "Control Number: 123foobar";
var match = Regex.Match(text, @"c[o0]ntr[o0][l1i]'s+nu(?:in|m)ber[:;s]'s*('w*)", RegexOptions.IgnoreCase);
if (match.Success)
{
    var controlNum = match.Groups[1].Value; // 123foobar
}