所以我創建一個光學文本閱讀器使用谷歌相機api的OCR。當從相機繼續播放時,我想通過將讀取的字符串匹配到字符串列表來過濾讀取的字符串,並且如果讀取的字符串部分匹配,則會添加並顯示列表中的項目。爪哇發現部分匹配字符串從列表
除了篩選工作以外的一切。
說我有包含字符串列表:
"BigSizeScrew 45**"
我要匹配的字符串讀:
"BigSizeScrew"
...在一個與數字,然後添加包含字符串數量也是如此。
數字和星星是由於另一個原因,但必須保持,原因是不相關的問題。
TL;博士:
我如何匹配部分匹配的字符串從列表中現有的字符串?
我有以下,但它專門搜索100%匹配的字符串,而不是如果檢查的字符串包含讀取字符串的子字符串。
for(int i =0;i<items.size();++i){
if (list.contains(items.valueAt(i))) {
TextBlock item = items.valueAt(i);
stringBuilder.append(item.getValue());
stringBuilder.append("\n");
}
}
編輯:
列表中包含大約200個不同的字符串應該是可匹配部分。但都是以同樣的方式;部分匹配主要字符串,但不包含數字/星號。
在java中使用正則表達式。 java的。util.regex – bigbounty
我編輯我的問題,我仍然可以使用正則表達式? – DannyBoy
使用indexOf()方法。方法索引給匹配字符串的索引。所以它的值大於-1,這意味着seach字符串存在於列表中,您可以使用該字符串。 – Charu