java.lang.String中的’contains’方法是否区分大小写?

问题:

说我有两个字符串,

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(s2), Pattern.CASE_INSENSITIVE).matcher(s1).find();

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

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Is the ‘contains’ method in java.lang.String case-sensitive?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

21 − = 14