Я хочу использовать startsWith()
метод String
, но игнорируя этот случай.
Предположим, что у меня есть String
"Session", и я использую startsWith
на "sEsSi", тогда он должен возвращать true
.
Я хочу использовать startsWith()
метод String
, но игнорируя этот случай.
Предположим, что у меня есть String
"Session", и я использую startsWith
на "sEsSi", тогда он должен возвращать true
.
Используйте toUpperCase()
или toLowerCase()
для стандартизации вашей строки перед ее тестированием.
Один из вариантов состоит в том, чтобы преобразовать оба из них в строчные или прописные:
"Session".toLowerCase().startsWith("sEsSi".toLowerCase());
Другим вариантом является использование метода String#regionMatches()
, который принимает логический аргумент, указывающий, следует ли делать совпадение с учетом регистра или нет. Вы можете использовать его следующим образом:
String haystack = "Session";
String needle = "sEsSi";
System.out.println(haystack.regionMatches(true, 0, needle, 0, 5)); // true
Он проверяет, присутствует ли область needle
от индекса 0
до длины 5
в haystack
, начиная с индекса 0
до длины 5
или нет. Первый аргумент true
, означает, что он будет делать нечувствительность к регистру.
И если вы только большой поклонник Regex, вы можете сделать что-то вроде этого:
System.out.println(haystack.matches("(?i)" + Pattern.quote(needle) + ".*"));
(?i)
встроенный флаг предназначен для сопоставления случаев игнорирования.
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());