Я хочу использовать 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());