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」'只是一些示例輸入用於演示目的。你實際上必須從你嘗試閱讀的任何文本中獲得。 –