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
到长度5
的needle
的区域是否存在于从索引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());