Как найти слово в строке java
Перейти к содержимому

Как найти слово в строке java

  • автор:

3.6. Java примеры – Нахождение символа или слова в строке

Решение 1: когда нужно найти индекс первого вхождения

Следующий пример показывает как найти символ или слово в строке в Java с помощью метода indexOf(). Метод вернет индекс первого вхождения, если символ или слово не будет найдено, то метод вернет -1.

public class Example < public static void main(String[] args) < String str = "Привет, java-программист!"; int indexM = str.indexOf("м"); // Нахождение символа в строке int indexJava = str.indexOf("java"); // Нахождение слова в строке if(indexM == - 1) < System.out.println("Символ \"м\" не найден."); >else < System.out.println("Символ \"м\" найден в индексе " + indexM); >if(indexJava == - 1) < System.out.println("Слово \"java\" не найдено."); >else < System.out.println("Слово \"java\" найдено в индексе " + indexJava); >> > 

Результат

Получим следующий результат:

Символ "м" найден в индексе 19 Слово "java" найдено в индексе 8 

Решение 2: когда нужно узнать есть ли в строке данный символ или слово

Ниже продемонстрирован пример, который позволяет в Java узнать присутствует ли данный символ или слово в строке.

public class Example < public static void main(String[] args) < String str = "Привет, java-программист!"; System.out.println("Слово \"программист\" есть в строке str? Ответ: " + str.contains("программист")); System.out.println("Символ \"б\" присутствует в строке str? Ответ: " + str.contains("б")); >> 

Результат

Получим следующий результат:

Слово "программист" есть в строке str? Ответ: true Символ "б" присутствует в строке str? Ответ: false 

Оглавление

  • 1. Java примеры – Использование кода на практике
  • 2. Java примеры – Окружающая среда
  • 2.1. Java примеры – Скомпилировать файл
  • 2.2. Java примеры – Установить путь к нескольким классам
  • 2.3. Java примеры – Отладка java-файла
  • 2.4. Java примеры – Установить путь к классу
  • 2.5. Java примеры – Просмотреть текущий путь класса
  • 2.6. Java примеры – Установить назначение файла класса
  • 2.7. Java примеры – Запустить скомпилированный java-файл класса
  • 2.8. Java примеры – Узнать версию Java
  • 2.9. Java примеры – Установить путь к классу в .jar-файле или .zip-файле
  • 3. Java примеры – Строки
  • 3.1. Java примеры – Сравнить две строки
  • 3.2. Java примеры – Найти последнее вхождение подстроки внутри подстроки
  • 3.3. Java примеры – Удалить нужный символ из строки
  • 3.4. Java примеры – Заменить символ в строке
  • 3.5. Java примеры – Вывод в обратном порядке
  • 3.6. Java примеры – Нахождение символа или слова в строке
  • 3.7. Java примеры – Разбиение строки на слова и символы
  • 3.8. Java примеры – Преобразование строки в верхний регистр
  • 3.9. Java примеры – Найти слово в строке
  • 3.10. Java примеры – Сравнить производительность создания строки
  • 3.11. Java примеры – Оптимизировать создание строк
  • 3.12. Java примеры – Форматирование строк
  • 3.13. Java примеры – Конкатенация строк
  • 3.14. Java примеры – Определить код Юникода символа в строке
  • 3.15. Java примеры – Буферизация строк
  • 4. Java примеры – Массивы
  • 4.1. Java примеры – Сортировка массива и поиск элемента
  • 4.2. Java примеры – Метод сортировки массива, вставить элемент в массив
  • 4.3. Java примеры – Размер двумерного массива
  • 4.4. Java примеры – Обратный порядок массива, переворачиваем массив
  • 4.5. Java примеры – Как выводить массивы и двумерные массивы в консоль
  • 4.6. Java примеры – Найти максимальный и минимальный элемент массива
  • 4.7. Java примеры – Соединить два массива в один
  • 4.8. Java примеры – Как заполнить массив числами
  • 4.9. Java примеры – Увеличить массив после инициализации
  • 4.10. Java примеры – Сравнение двух массивов
  • 4.11. Java примеры – Удаление элемента из массива
  • 4.12. Java примеры – Удаление массива из другого массива
  • 4.13. Java примеры – Одинаковые элементы массивов
  • 4.14. Java примеры – Поиск в массиве
  • 4.15. Java примеры – Равенство двух массивов
  • 4.16. Java примеры – Сравнить массивы
  • 5. Java примеры – Дата и время
  • 5.1. Java примеры – Форматирование времени в формате AM-PM
  • 5.2. Java примеры – Получение названия и номера текущего месяца
  • 5.3. Java примеры – Получить текущее время в часах и минутах
  • 5.4. Java примеры – Вывести текущее время и дату
  • 5.5. Java примеры – Вывести текущее время в 24-часовом формате
  • 5.6. Java примеры – Получить текущий месяц
  • 5.7. Java примеры – Получить текущие секунды
  • 5.8. Java примеры – Получить короткое название месяца
  • 5.9. Java примеры – Получить день недели
  • 5.10. Java примеры – Добавление времени к дате
  • 5.11. Java примеры – Отображение времени в формате другой страны
  • 5.12. Java примеры – Отображение времени на разных языках
  • 5.13. Java примеры – Прокрутить часы и месяцы
  • 5.14. Java примеры – Получить номер недели и месяц в году
  • 5.15. Java примеры – Форматы текущей даты
  • 6. Java примеры – Методы
  • 6.1. Java примеры – Перезагрузка методов
  • 6.2. Java примеры – Вывод массива с использованием метода
  • 6.3. Java примеры – Решение Ханойской башни
  • 6.4. Java примеры – Последовательность чисел Фибоначчи
  • 6.5. Java примеры – Вычисление факториала числа
  • 6.6. Java примеры – Переопределение метода
  • 6.7. Java примеры – Вывод массива с использованием метода
  • 6.8. Java примеры – Использование оператора break
  • 6.9. Java примеры – Использование оператора continue
  • 6.10. Java примеры – Использование метки в методе
  • 6.11. Java примеры – Использование операторов enum и switch
  • 6.12. Java примеры – Использование конструктора enum

Поиск слова в строке java

Ввести строку с клавиатуры. Из введенной строки выбрать все слова, начинающиеся на гласные буквы и заканчивающиеся на согласные. Вывести отобранные слова на консоль. Добрый день, выше задание, не знаю как сделать, через сканер забил ввод строки, создал массивы с гласными буквами и согласными, но как дальше быть не знаю, может вообще не нужно было массивы создавать, ваше мнение?

System.out.println("Введите строку из слов"); Scanner sc = new Scanner(System.in); String[] str = sc.nextLine().split(" "); System.out.println(Arrays.deepToString(str)); String [] glas = new String[] ; String [] soglas = new String[] ; 

Отслеживать

25.9k 7 7 золотых знаков 31 31 серебряный знак 48 48 бронзовых знаков

Ищем символы в строке Java

В этой статье мы рассмотрим, как выполнять поиск букв и других символов в строке Java, а также как проверять, находится ли нужный символ, буква или слово в строке, начиная с указанного индекса.

Строкой в Java называют упорядоченную последовательность символов. Как правило строка в Java — это один из основных носителей текстовой информации.

Для работы со строками в Java применяют классы String, StringBuilder и StringBuffer. Класс String включает методы, возвращающие позицию символа либо подстроки в строке: — indexOf() — для поиска с начала строки; — lastIndexOf() — для выполнения поиска с конца строки.

Таким образом, если метод indexOf() найдёт заданную букву, символ либо строку, он вернёт индекс, то есть порядковый номер. Если не найдёт, будет возвращено -1. Также он позволяет искать символ или букву, начиная с указанного индекса.

Кроме того, стоит добавить, что класс String включает в себя ещё и метод contains, возвращающий true, когда в строке содержится заданная последовательность символов. Этот метод рекомендуется использовать лишь тогда, когда вам просто нужно узнать о существовании подстроки в строке, при этом позиция не имеет значения.

Метод indexOf()

 
Java.lang.String
 
public int indexOf(char ch) public int indexOf(char ch, int fromIndex)
 
public int indexOf(String s) public int indexOf(String s, int fromIndex)

Соответственно, вызвать метод можно тоже несколькими способами:

 
int index = str1.indexOf(myChar); int index = str1.indexOf(myChar, start);
 
int index = str1.indexOf(myString); int index = str1.indexOf(myString, start);

Представьте, что нам нужно отыскать в строке индекс первого вхождения требуемого символа/буквы, а также нужного слова. Как уже было сказано выше, метод indexOf() вернёт нам индекс первого вхождения, а в случае неудачи — вернёт -1.

Посмотрите на следующий код:

 
public class Main < public static void main(String[] args) < String str = "Otus — онлайн-образование"; int indexM = str.indexOf("з"); // Ищем символ в строке int indexJava = str.indexOf("онлайн"); // Ищем слово в строке if(indexM == - 1) < System.out.println("Символ \"з\" не найден."); >else < System.out.println("Символ \"з\" найден, его индекс: " + indexM); >if(indexJava == - 1) < System.out.println("Слово \"онлайн\" не найдено."); >else < System.out.println("Слово \"онлайн\" найдено, его индекс: " + indexJava); >> >

Результат получим следующий:

 
Символ "з" найден, его индекс: 18 Слово "онлайн" найдено, его индекс: 7

Метод contains

Бывают ситуации, когда нам необходимо проверить, содержит ли наша строка конкретный символ/букву либо слово. Нижеследующий Java-код продемонстрирует и этот пример:

 
public class Main < public static void main(String[] args) < String str = "Otus — онлайн-образование"; System.out.println("Слово \"Otus\" есть в строке str? Ответ: " + str.contains("Otus")); System.out.println("Символ \"z\" присутствует в строке str? Ответ: " + str.contains("z")); >>

В этом случае результат будет следующим:

 
Слово "Otus" есть в строке str? Ответ: true Символ "z" присутствует в строке str? Ответ: false

Как видите, выполнять поиск букв и других символов в строке Java совсем несложно, и наши элементарные примеры убедительно это подтверждают. Если же вы хотите получить более продвинутые навыки по Java-разработке, добро пожаловать на наш курс:

indexOf() в Java - найти в строке символ и его индекс

Метод indexOf() ищет в строке заданный символ или строку, и их возвращает индекс (т.е. порядковый номер). Метод:

  • возвращает индекс, под которым символ или строка первый раз появляется в строке;
  • возвращает (-1) если символ или строка не найдены.

Метод также может искать символ или строку, начиная с указанного индекса.

Библиотека:

Java . lang . String

Синтаксис метода:

public int indexOf ( char ch )
public int indexOf ( char ch , int fromIndex )
public int indexOf ( String s )
public int indexOf ( String s , int fromIndex )

Вызов:

int index = str1 . indexOf ( myChar ) ;
int index = str1 . indexOf ( myChar , start ) ;
int index = str1 . indexOf ( myString ) ;
int index = str1 . indexOf ( myString , start ) ;

Пример 1:

public class Test < public static void main ( String args [ ] ) < String hello = "Hello" ; int index1 = hello . indexOf ( 'H' ) ; int index2 = hello . indexOf ( 'o' ) ; int index3 = hello . indexOf ( 'W' ) ;

System . out . println ( "Мы ищем букву 'H' в строке " + hello + ". Индекс данной буквы " + index1 ) ;

System . out . println ( "Мы ищем букву 'o' в строке " + hello + ". Индекс данной буквы " + index2 ) ;

System . out . println ( "Мы ищем букву 'W' в строке " + hello + ". Индекс данной буквы " + index3 ) ;

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

У нас есть строка "Hello". С помощью метода indexOf мы искали индекс трех символов - 'H', 'o' и 'W'.

  • Символ 'H' стоит первым в строке. indexOf возвращает ноль.
  • Символ 'o' стоит в конце строки. Получаем его индекс 4.
  • Символ 'W' не встречается в строке "Hello". Получаем (-1).
Пример 2:

public class Test < public static void main ( String args [ ] ) < String hello = "Hello" ; int index1 = hello . indexOf ( 'H' , 2 ) ; int index2 = hello . indexOf ( 'o' , 2 ) ; int index3 = hello . indexOf ( 'W' , 2 ) ;

System . out . println ( "Мы ищем букву 'H' в строке " + hello + " начиная с индекса номер 2. Индекс " + index1 ) ;

System . out . println ( "Мы ищем букву 'o' в строке " + hello + " начиная с индекса 2. Индекс " + index2 ) ;

System . out . println ( "Мы ищем букву 'W' в строке " + hello + " начиная с индекса 2. Индекс " + index3 ) ;

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

У нас есть строка "Hello". С помощью метода indexOf мы искали индекс трех символов - 'H', 'o' и 'W', но теперь начиная с символа под индексом 2.

  • Символ 'H' стоит первым в строке. Но так как первые два символа в строке игнорируются, indexOf возвращает -1 ("символ не найден").
  • Символ 'o' стоит в конце строки. Он находится после второго символа, а значит функция его "видит". Как и в прошлом примере, получаем 4.
  • Символ 'W' не встречается в строке "Hello". Как и в прошлом примере, получаем (-1).
Пример 3:

public class Test < public static void main ( String args [ ] ) < String gm = "Good morning" ; int index1 = gm . indexOf ( "morni" ) ; int index2 = gm . indexOf ( "Vertex" ) ; int index3 = gm . indexOf ( "Good morning" , - 2 ) ; int index4 = gm . indexOf ( "Good morning" , 2 ) ; int index5 = gm . indexOf ( "Good morning" , 999 ) ; System . out . println ( "Мы ищем 'morni' в строке " + gm + ". Индекс " + index1 ) ; System . out . println ( "Мы ищем 'Vertex' в строке " + gm + ". Индекс " + index2 ) ;

System . out . println ( "Мы ищем 'Good morning' в строке " + gm + " начиная с индекса -2. Результат: " + index3 ) ;

System . out . println ( "Мы ищем 'Good morning' в строке " + gm + " начиная с индекса 2. Результат: " + index4 ) ;

System . out . println ( "Мы ищем 'Good morning' в строке " + gm + " начиная с индекса 888. Результат: " + index5 ) ;

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

Посмотрим, как метод ищет строки. У нас есть переменная "Good morning". В ней мы ищем три подстроки: "morni", "Vertex" и "Good morning".

  • "morni" - это часть строки "Good morning". Первый символ найденной подстроки "morni" имеет индекс 5. Поэтому, в консоли получаем 5.
  • "Vertex" в строке не встречается. Получаем -1;
  • "Good morning" мы ищем три раза.
    • Первый раз мы задавали отрицательный индекс (-2). Метод indexOf интерпретирует его как ноль (т.е. "искать с начала строки"). Поэтому, в консоли получаем индекс ноль - начало подстроки совпадает с началом основной строки.
    • Во второй раз мы задаем значение 2. Фактически, теперь метод проверяет, встречается ли в строке "od morning" подстрока"Good morning". Нет, не встречается. Получаем (-1) в консоли.
    • В третий раз мы задаем значение, которое явно больше длины строки 888. Это как если бы мы искали что-то в пустой строке. Получаем (-1).

    Данная статья написана Vertex Academy. Можно пройти наши курсы Java с нуля. Детальнее на сайте.

    • ← copyValueOf() в Java - создать строку из массива чаров
    • replace() - заменить символ в строке в Java →

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *