Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Обробка рядків Java

  1. Отримання символів і подстрок
  2. Інші методи для управління рядками
  3. Пошук символів і подстрок
  4. Зміна рядків. Заміна символів і подстрок
  5. приклад

У цьому уроці ми продовжимо вивчення рядків в Java. Основи роботи з рядками можна подивитися в уроці «Рядки в Java» .

Клас String в Java має набір методів для управління вмістом рядка. Знаходити символи, частини ланцюжків, змінювати регістр і інші завдання.

Отримання символів і подстрок

Ви можете отримати символ, що знаходиться на певній позиції в рядку, викликавши метод charAt (). Індекс першого символу в рядку - 0, останнього - length () - 1. Наступний код повертає 9 символ рядка.

String anotherPalindrome = "Niagara. O roar again!"; char aChar = anotherPalindrome.charAt (9);

Нумерація символів починається з 0, тому 9 символ в рядку - «О».

Нумерація символів починається з 0, тому 9 символ в рядку - «О»

Нумерація символів в рядку

Якщо вам необхідно отримати не один символ, а частина рядка, можна використовувати метод substring. Метод substring має два варіанти:

Метод Опис String substring (int beginIndex, int endIndex) Повертає підрядок даного рядка, починаючи з символу з індексом beginIndex, закінчуючи endIndex - 1. String substring (int beginIndex) Повертає підрядок даного рядка, починаючи з символу під номером beginIndex і до кінця рядка.

Наступний код поверне подстроку рядки, починаючи з 11 символу, але не включаючи 15, вийде слово «roar»

String anotherPalindrome = "Niagara. O roar again!"; String roar = anotherPalindrome.substring (11, 15); String anotherPalindrome = Niagara підрядок Java

Інші методи для управління рядками

У таблиці наведено деякі методи для роботи з рядками і їх опис.

Метод Опис String [] split (String regex)
String [] split (String regex, int limit) Шукає збіги в рядку відповідно до заданого регулярному виразу і розбиває рядок на масив. Необов'язковий аргумент limit задає максимальний розмір повертається масиву. CharSequence subSequence (int beginIndex, int endIndex) Повертає послідовність символів, починаючи з beginIndex, закінчуючи endIndex - 1. String trim () Повертає рядок, в якої вилучені зайві прогалини на початку рядка і в кінці. String toLowerCase ()
String toUpperCase () Повертає копію рядка, символи якої переведені в нижній або верхній регістр. Якщо перетворень не потрібно повертається оригінальна рядок.

Пошук символів і подстрок

Розглянемо ще кілька методів для пошуку символів і подстрок. Клас String містить методи, які повертають позицію символу або підрядка в рядку: indexOf () і lastIndexOf (). Методи indexOf () здійснюють пошук з початку рядка, lastIndexOf () - з кінця. Якщо дані методи не знайшли збігів, вони повертають -1.

Також клас String містить метод contains, який повертає true, якщо задана послідовність символів міститься в рядку. Використовуйте цей метод, якщо необхідно дізнатися про існування підрядка в рядку, а її позиція не важлива.

У наступній таблиці описуються методи indexOf () і lastIndexOf ().

Метод Опис int indexOf (int ch)
int lastIndexOf (int ch) Повертає індекс першого (останнього) входження символу в рядку. int indexOf (int ch, int fromIndex)
int lastIndexOf (int ch, int fromIndex) Повертає індекс першого (останнього) входження символу в рядку, починаючи пошук з зазначеного індексу. int indexOf (String str)
int lastIndexOf (String str) Повертає індекс першого (останнього) входження підрядка в рядку. int indexOf (String str, int fromIndex)
int lastIndexOf (String str, int fromIndex) Повертає індекс першого (останнього) входження підрядка в рядку, починаючи пошук з зазначеного індексу. boolean contains (CharSequence s) Повертає true, якщо задана послідовність символів міститься в рядку.

CharSequence - це інтерфейс, який реалізує клас String, тому ви можете передавати рядки в метод contains ().

Зміна рядків. Заміна символів і подстрок

Клас String має кілька методів для вставки символів і подстрок в рядок. У таблиці наведено методи для заміни знайдених символів і подстрок.

Метод Опис String replace (char oldChar, char newChar) Повертає новий рядок, в якій всі oldChar замінені на newChar. String replace (CharSequence target, CharSequence replacement) Замінює всі входження підрядка target на рядок replacement. String replaceAll (String regex, String replacement) Замінює всі підрядка, які описує заданий регулярний вираз на replacement String replaceFirst (String regex, String replacement) Замінює тільки першу підходящу подстроку.

приклад

Наступний клас Filename показує приклад використання методів lastIndexOf () і substring () для використання різних частин рядка з ім'ям файлу.

public class Filename {private String fullPath; private char pathSeparator, extensionSeparator; public Filename (String str, char sep, char ext) {fullPath = str; pathSeparator = sep; extensionSeparator = ext; } Public String extension () {int dot = fullPath.lastIndexOf (extensionSeparator); return fullPath.substring (dot + 1); } // отримання імені файлу без розширення public String filename () {int dot = fullPath.lastIndexOf (extensionSeparator); int sep = fullPath.lastIndexOf (pathSeparator); return fullPath.substring (sep + 1, dot); } Public String path () {int sep = fullPath.lastIndexOf (pathSeparator); return fullPath.substring (0, sep); }

Тепер розглянемо програму, яка використовує клас Filename:

public class FilenameDemo {public static void main (String [] args) {final String FPATH = "/home/user/index.html"; Filename myHomePage = new Filename (FPATH, '/', '.'); System.out.println ( "Extension =" + myHomePage.extension ()); System.out.println ( "Filename =" + myHomePage.filename ()); System.out.println ( "Path =" + myHomePage.path ()); }}

Програма виведе:

Extension = html Filename = index Path = / home / user

Метод extension використовує метод lastIndexOf для визначення останнього входження ".". Метод substring використовує це значення для знаходження розширення файлу.

Метод substring використовує це значення для знаходження розширення файлу

Формат файлу

На цьому все!

Дивіться також

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.