gpt4 book ai didi

java - 检查字符串数组是否包含没有循环的子字符串

转载 作者:行者123 更新时间:2023-12-05 00:37:14 24 4
gpt4 key购买 nike

我想在字符串数组中找到一个子字符串,而不使用循环。我正在使用:

import java.util.Arrays;

public class MyClass {
public static void main(String args[]) {

String[] files = new String[]{"Audit_20190204_061439.csv","anotherFile"};
String substring= ".csv";

if(!Arrays.stream(files).anyMatch(substring::contains)) {
System.out.println("Not found:" + substring);
}
}
}

我总是找不到。这种方法有什么问题?

最佳答案

您正在检查 String“.csv”是否不包含您的 Stream 的任何元素,这与您想要的相反。

应该是:

if (!Arrays.stream(files).anyMatch(s -> s.contains(substring))) {
System.out.println("Not found:" + substring);
}

附言正如所评论的,您可以使用 noneMatch 而不是 anyMatch,这将节省否定条件的需要:

if (Arrays.stream(files).noneMatch(s -> s.contains(substring))) {
System.out.println("Not found:" + substring);
}

如果“.csv”子字符串只应在 String 的末尾搜索(即视为后缀),则应使用 endsWith 而不是包含

关于java - 检查字符串数组是否包含没有循环的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54511668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com