我正在尝试查看字符串的ArrayList是否包含位于另一个字符串中的单词,但我做错了。这是我的代码: 这是我的ArrayList
的一个例子titles = {“Sodium”,“Lithium”,“Allura Red AC”};
String ocrRes = "I want some sugar , and some coffee with Allura Red AC , Ponceau 4R ";
for (int i = 0; i < titles.size() ; i++)
{
if (ocrRes.contains(titles.get(i)) )
{
ocrResult.setText(titles.get(i));
}
}
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:1)
以下是如何在字符串数组中找到特定单词的大纲:
String[] array;
//will return the index of the array where word found.
int checkWord(String searchWord)
{
for(int i = 0; i < array.length; i++)
{
if (searchWord.equals(array[i]))
return i;
}
}
你可以实现类似的东西来在你的数组中找到一个单词,希望这有助于:)
答案 1 :(得分:1)
您的代码似乎工作得很好...... 你可能没有使用ArrayList
像这样使用:
List<String> titles = new ArrayList<>();
titles.add("Sodium");
titles.add("Lithium");
titles.add("Allura Red AC");
String ocrRes = "I want some sugar , and some coffee with Allura Red AC , Ponceau 4R ";
for (int i = 0; i < titles.size() ; i++)
{
if (ocrRes.contains(titles.get(i)) )
{
ocrResult.setText(titles.get(i));
}
}
修改强>
我在你对其他答案的评论中看到你需要另一个带有相应索引的列表,所以只需创建一个数组列表,就像我在上面的代码中显示的那样...
顺便说一句你似乎初始化你的列表的方式就像你正在创建一个数组 这是不同的类型,看起来像这样:
String[] array = {"Sodium " , " Lithium " , "Allura Red AC"};
GL
答案 2 :(得分:0)
这是使用ListIterator
的另一个选项 String ocrRes = "I want some sugar , and some coffee with Allura Red AC , Ponceau 4R ";
List<String> titles = Arrays.asList("Sodium", "Lithium", "Allura Red AC");
ListIterator<String> iterator = titles.listIterator();
while (iterator.hasNext()) {
String title = iterator.next();
if(ocrRes.contains(title)) {
System.out.println(title);
}
}
答案 3 :(得分:0)
你可以尝试这个。如果字符串的ArrayList包含位于另一个String
中的单词。它将仅显示String
。
示例代码
String str = "I want some sugar , and some coffee with Allura Red AC , Ponceau 4R ";
List<String> myList = Arrays.asList("Sodium", "Lithium", "Allura Red AC");
myList.forEach(new Consumer<String>() {
public void accept(String s) {
if(str.contains(s)) {
System.out.println(s);
}
}
});