1
所以我有下面的方法可以扫描单词列表,找到“Control Number:”并将其设置为wordNumber,然后将下一个单词设置为controlNum(这是字符串I我期待着回来)。查找字符串后的下一个字
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 = ???
}
这似乎并没有工作,完全正确。如果我完全按照您的要求保留代码,controlNum将为'123foobar'。但是,如果我从'string text'中删除'123foobar',那么controlNum将只是“”。 ...我不知道这个功能之前的控制号码。 – MaylorTaylor
@MaylorTaylor大概你是从* somewhere *中读取一段文本,然后试图解析它来获得控制编号,对吧?那么我的'text =“控制编号:123foobar”'只是一些示例输入用于演示目的。你实际上必须从你尝试阅读的任何文本中获得。 –