/
Вопросы и ответы
/
Java
/

Как проверить содержит ли строка символ java

Как проверить содержит ли строка символ java

5 лет назад

Человек-Молекула

Ответы

0

Для того, чтобы найти символ в строке в Java, вы можете использовать метод indexOf() или lastIndexOf() класса String. Эти методы позволяют найти индекс первого (или последнего) вхождения заданной подстроки в строке. Если подстрока не найдена, методы возвращают -1.

Например, чтобы найти индекс первого вхождения символа w в строке "Hello world!", вы можете использовать следующий код:

1
2
3
String str = "Hello world!";
int index = str.indexOf("w");
System.out.println(index); // => 6

Также можно использовать метод contains() для проверки наличия подстроки в строке без необходимости получать ее индекс.

1
2
3
String str = "Hello world!";
boolean contains = str.contains("w");
System.out.println(contains); // => true

4 года назад

Иван Полежаев

0

Проверить, есть ли в строке символ или подстрока, проще всего методом contains():

1
2
3
4
String email = "user@example.com";

System.out.println(email.contains("@"));      // true
System.out.println(email.contains("gmail"));  // false

contains() принимает строку. Символ типа char передайте через indexOf() или переведите в строку: email.contains(String.valueOf('@')).

Позиция символа: indexOf()

1
2
int pos = email.indexOf('@');        // 4
boolean has = email.indexOf('@') != -1;

indexOf() возвращает позицию первого вхождения или -1, если символа нет. Последнее вхождение — lastIndexOf().

Без учёта регистра

contains() различает регистр: "Java".contains("java") вернёт false. Приведите обе строки к одному регистру:

1
boolean found = text.toLowerCase().contains(query.toLowerCase());

Начало и конец строки

1
2
email.startsWith("user");      // true
email.endsWith(".com");        // true

Хотя бы один из нескольких символов

Например, есть ли в пароле цифра:

1
2
boolean hasDigit = password.chars().anyMatch(Character::isDigit);
boolean hasSpecial = password.matches(".*[!@#$%^&*].*");

Character проверяет категорию символа: isDigit, isLetter, isUpperCase, isWhitespace.

Сколько раз символ встречается

1
long count = email.chars().filter(ch -> ch == 'e').count(); // 3

Ошибка NullPointerException

Если строка равна null, вызов любого метода упадёт. Проверьте строку заранее:

1
boolean ok = text != null && text.contains("@");

Строки и их методы разбирают в бесплатном курсе «Основы Java».

17 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845