所以我创建一个光学文本阅读器使用谷歌相机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