В Java, как я могу проверить, содержит ли строка подстроку (игнорируя регистр)? [Дубликат]

Каждое значение double, представление которого находится между 0x0000000000000000 и 0x3ff0000000000000, находится в интервале [0.0, 1.0].

Интервал [1.0, 2.0] соответствует представлениям между 0x3ff0000000000000 и 0x400000000000000; это 2 ^ 52 различных значения.

Интервал [100,0, 101,0] соответствует представлениям между 0x4059000000000000 и 0x4059400000000000; это 2 ^ 46 различных значений.

Не существует удвоений между 10 ^ 100 и 10 ^ 100 + 1. Ни одно из этих чисел не представляется в двойной точности, и между ними нет двойников. Ближайшие два числа двойной точности:

99999999999999982163600188718701095...

и

10000000000000000159028911097599180...
506
задан Peter Mortensen 30 October 2015 в 16:33
поделиться

3 ответа

str1.toLowerCase().contains(str2.toLowerCase())
1015
ответ дан 22 November 2019 в 22:33
поделиться

Вы можете использовать метод toLowerCase():

public boolean contains( String haystack, String needle ) {
  haystack = haystack == null ? "" : haystack;
  needle = needle == null ? "" : needle;

  // Works, but is not the best.
  //return haystack.toLowerCase().indexOf( needle.toLowerCase() ) > -1

  return haystack.toLowerCase().contains( needle.toLowerCase() )
}

Затем вызвать его, используя:

if( contains( str1, str2 ) ) {
  System.out.println( "Found " + str2 + " within " + str1 + "." );
}

Обратите внимание, что создав собственный метод, вы можете использовать его повторно. Затем, когда кто-то указывает, что вы должны использовать contains вместо indexOf, у вас есть только одна строка кода для изменения.

21
ответ дан Dave Jarvis 30 October 2015 в 16:33
поделиться

Я бы использовал комбинацию метода contains и метода toUpper, которые являются частью класса String. Пример ниже:

String string1 = "AAABBBCCC"; 
String string2 = "DDDEEEFFF";
String searchForThis = "AABB";

System.out.println("Search1="+string1.toUpperCase().contains(searchForThis.toUpperCase()));

System.out.println("Search2="+string2.toUpperCase().contains(searchForThis.toUpperCase()));

Это вернет:

Search1 = true
Search2 = false

7
ответ дан freedev 30 October 2015 в 16:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: