【发布时间】:2018-02-18 10:45:05
【问题描述】:
所以我使用 google camera 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
-
我编辑了我的问题,我还能使用正则表达式吗?
-
使用 indexOf() 方法。方法索引给出匹配字符串的索引。所以它的值大于-1,这意味着列表中存在seach字符串,您可以使用该字符串。
标签: java string substring partial