如何检查字符串是否与字符串数组中的任何元素匹配。
假设一个字符串数组包含 {abcdef, ghijkl} 将它与字符串“abc”进行比较应该返回第一个值
如果一直在使用stringArray.contains(string)方法,但它似乎只有在完整的字符串匹配时才有效。即使字符串部分匹配,我也需要得到结果
任何帮助,将不胜感激
没有使用循环的方法。我了解您可能正在寻找一些不需要自写循环的实现。但是你必须循环。
流派上用场:
Arrays.stream(stringArray)
.filter(s -> s.contains(stringToSearch))
.findFirst();
当然,您的要求归结为:找到数组中以搜索字符串开头的第一个字符串。但实际上您的要求有点不清楚,因此您应该根据需要应用过滤器。例如contains()和之间有很大的区别!startsWith()
您可以使用indexOf方法:
String[] contains(String[] stringArray, String target) {
String[] result = new String[2];
for(int index = 0; index < stringArray.length; index++) {
String current = stringArray[index];
if (s.indexOf(target) >= 0) {
result[0] = current;
result[1] = String.valueOf(index);
}
}
}