如何在Java中以不区分大小写的方式检查字符串是否包含另一个字符串?

说我有两个弦,

String s1 = "AbBaCca";

String s2 = "bac";

我要执行s2包含在中的支票退回s1。我可以这样做:

return s1.contains(s2);

我很确定这contains()是区分大小写的,但是我无法通过阅读文档确定这一点。如果是这样,我想我最好的方法就是这样:

return s1.toLowerCase().contains(s2.toLowerCase());

撇开所有这些,是否还有另一种(可能更好)的方法来完成此任务而不关心区分大小写?

回答:

是的,包含的内容区分大小写。你可以将java.util.regex.Pattern与CASE_INSENSITIVE标志一起使用,以区分大小写:

Pattern.compile(Pattern.quote(wantedStr), Pattern.CASE_INSENSITIVE).matcher(source).find();

编辑:如果s2包含正则表达式特殊字符(其中有很多),则首先引用它很重要。我已经改正了我的答案,因为这是第一个人们会看到的答案,但是请投票支持Matt Quail的答案,因为他指出了这一点。

以上是 如何在Java中以不区分大小写的方式检查字符串是否包含另一个字符串? 的全部内容, 来源链接: utcz.com/qa/428143.html

回到顶部