startsWith()方法的string忽略大小写

我想使用String startsWith()方法,但忽略大小写。

假设我有String “会话”,并且我使用了“sEsSi”上的startsWith ,那么它应该返回true

在testing之前使用toUpperCase()toLowerCase()来标准化string。

一种select是将它们都转换为小写或大写:

 "Session".toLowerCase().startsWith("sEsSi".toLowerCase()); 

另一个select是使用String#regionMatches()方法,该方法使用布尔参数来指定是否执行区分大小写的匹配。 你可以像这样使用它:

 String haystack = "Session"; String needle = "sEsSi"; System.out.println(haystack.regionMatches(true, 0, needle, 0, 5)); // true 

它检查从索引0到长度5needle的区域是否存在于从索引0到长度5 haystack 。 第一个参数是true ,意味着它会做不区分大小写的匹配。


如果只有你是Regex的忠实粉丝,你可以这样做:

 System.out.println(haystack.matches("(?i)" + Pattern.quote(needle) + ".*")); 

(?i)embedded标志用于忽略大小写匹配。

 myString.toLowerCase().startsWith(starting.toLowerCase()); 

尝试这个,

 String session = "Session"; if(session.toLowerCase().startsWith("sEsSi".toLowerCase())) 

你可以随时做

 "Session".toLowerCase().startsWith("sEsSi".toLowerCase()); 

你可以使用someString.toUpperCase().startsWith(someOtherString.toUpperCase())

使用开始与toLowerCase在一起

喜欢这个

 "Session".toLowerCase().startsWith("sEsSi".toLowerCase()); 

你可以做这样的事情:

 str.toLowerCase().startsWith(searchStr.toLowerCase());