Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Витягування інформації зі строк у Java | Рядки
Вступ до Java

Витягування інформації зі строк у Java

Свайпніть щоб показати меню

Під час роботи з текстом у реальних застосунках рідко потрібен увесь рядок — найчастіше необхідна лише його невелика частина. Наприклад, ім'я в електронному листі, товар у повідомленні про замовлення або певне ключове слово, приховане в реченні. Java надає прості, але потужні інструменти для отримання саме тієї інформації, яка потрібна.

substring()

Якщо потрібно отримати "зріз" рядка за позиціями символів, використовуйте .substring(). Використовується нульова індексація — підрахунок починається з 0. Повертає новий об'єкт String.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String drinkName = order.substring(6, 11); System.out.println(drinkName); } }

substring(6, 11) вказує Java почати з індексу 6 (включно) і зупинитися перед індексом 11 (виключно) — виділення символів на позиціях з 6 по 10, що дає нам "Latte".

Якщо використати substring(start) лише з одним аргументом, Java виділяє все від цієї позиції до кінця рядка:

order.substring(6); // "Latte with oat milk"

indexOf()

Щоб знайти, де саме певний фрагмент тексту знаходиться всередині рядка, використовуйте .indexOf(). Замість вирізання тексту, цей метод визначає його розташування. Повертає int, що позначає початковий індекс збігу.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; int lattePosition = order.indexOf("Latte"); System.out.println(lattePosition); } }

Java сканує рядок зліва направо, поки не знайде "Latte", і повертає позицію її першого символу — 6. Якщо текст не знайдено в рядку, Java повертає -1.

Поєднання обох — реальний приклад

У цьому реальному прикладі поєднуються indexOf() та substring() для отримання імені користувача з електронної адреси.

Main.java

Main.java

1234567891011121314
package com.example; public class Main { public static void main(String[] args) { String customerEmail = "anna.coffee@gmail.com"; int atPosition = customerEmail.indexOf("@"); String username = customerEmail.substring(0, atPosition); System.out.println(username); } }

indexOf("@") знаходить позицію символу @, потім substring(0, atPosition) витягує все від початку рядка до — але не включаючи — символу @. Результат — "anna.coffee". Замість жорсткого задання позицій, Java самостійно знаходить межу та витягує саме те, що потрібно.

question mark

Що робить substring(start, end) у Java?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 7

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 4. Розділ 7
some-alt