我如何检查字符串是否与字符串数组匹配

时间:2019-02-07 15:21:23

标签: java string arraylist

如何检查字符串是否与字符串数组中的任何元素匹配。

假设一个String数组包含{abcdef,ghijkl}  将其与字符串“ abc”进行比较应返回第一个值

如果一直在使用stringArray.contains(string)方法,但它似乎仅在完整的字符串匹配时才起作用。即使字符串部分匹配,我也需要得到结果

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:2)

流派上用场:

Delay

当然,您的要求可以归结为:用搜索字符串找到开始的数组中的第一个字符串。但是实际上您的要求还不清楚,因此您应该根据需要应用过滤器。例如,DelayArrays.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);
        }
    }
}