如何将子字符串与Java中的字符串数组进行比较

时间:2018-01-04 18:06:05

标签: java

如何使用Java编程将子字符串与数组中提到的字符串进行比较? 例如。检查" AC"在{Apple - AC,Ball,Cat,Doctor ........,} 这应该返回Apple - AC,因为它包含AC作为子串。

2 个答案:

答案 0 :(得分:0)

因此,下次发布stackoverflow时,请务必列出您之前尝试过的内容以及遇到问题的部分,而不是仅仅要求我们完全为您完成。

public static String findWithSubstring(String[] arr, String sub) {
    for (int i=0; i<arr.length(); i++) {
        if (arr[i].contains(sub)) {
            return arr[i];
        }
    }
    return "";
}

所以,迅雷有正确的方法,但无论哪个元素都有子串,它都会返回true。问的问题是,#34; Apple -AC&#34;。

答案 1 :(得分:0)

String[] words = {"Apple - AC", "Ball", "Cat", "Doctor"};
String filter = "AC";

如果您想要所有匹配的单词:

List<String> list = Stream.of(words)
        .filter(word -> word.contains(filter))
        .collect(Collectors.toList());

System.out.println(list);

如果您只对第一个匹配词感兴趣:

Optional<String> firstMatch = Stream.of(words)
        .filter(word -> word.contains(filter))
        .findFirst();

System.out.println(firstMatch);