如何检查字符串是否与字符串数组中的任何元素匹配。
假设一个String数组包含{abcdef,ghijkl} 将其与字符串“ abc”进行比较应返回第一个值
如果一直在使用stringArray.contains(string)
方法,但它似乎仅在完整的字符串匹配时才起作用。即使字符串部分匹配,我也需要得到结果
任何帮助将不胜感激
答案 0 :(得分:2)
流派上用场:
Delay
当然,您的要求可以归结为:用搜索字符串找到开始的数组中的第一个字符串。但是实际上您的要求还不清楚,因此您应该根据需要应用过滤器。例如,Delay
和Arrays.stream(stringArray)
.filter(s -> s.contains(stringToSearch))
.findFirst();
之间有很大的不同!
答案 1 :(得分:1)
不使用循环就没有方法。我了解您可能正在寻找不需要自我编写循环的实现。但是你必须循环。
答案 2 :(得分:1)
您可以使用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);
}
}
}