Примеры метода substring() в Java String

Метод Java String substring() возвращает подстроку этой строки. Этот метод всегда возвращает новую строку, а исходная строка остается неизменной, потому что String неизменяем в Java.

Методы Java String substring()

Метод Java String substring перегружен и имеет два варианта.

  1. substring(int beginIndex): Этот метод возвращает новую строку, которая является подстрокой этой строки. Подстрока начинается с символа по указанному индексу и продолжается до конца этой строки.
  2. substring(int beginIndex, int endIndex): Подстрока начинается с указанного beginIndex и продолжается до символа по индексу endIndex – 1. Таким образом, длина подстроки равна (endIndex – beginIndex).

Важные моменты метода substring() строки

  1. Оба метода подстроки могут вызвать IndexOutOfBoundsException, если выполняется хотя бы одно из нижеперечисленных условий.
    • если beginIndex отрицателен
    • endIndex больше длины этого объекта String
    • beginIndex больше endIndex
  2. beginIndex включительный, а endIndex исключительный в обоих методах подстроки.

Пример использования метода substring() в Java

Вот простая программа для подстроки в Java.

package com.journaldev.util;

public class StringSubstringExample {

	public static void main(String[] args) {
		String str = "www.journaldev.com";
		System.out.println("Last 4 char String: " + str.substring(str.length() - 4));
		System.out.println("First 4 char String: " + str.substring(0, 4));
		System.out.println("website name: " + str.substring(4, 14));
	}
}

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

Last 4 char String: .com
First 4 char String: www.
website name: journaldev

Проверка палиндрома с использованием метода substring()

Мы можем использовать метод substring() для проверки, является ли строка палиндромом или нет.

package com.journaldev.util;

public class StringPalindromeTest {
	public static void main(String[] args) {
		System.out.println(checkPalindrome("abcba"));
		System.out.println(checkPalindrome("XYyx"));
		System.out.println(checkPalindrome("871232178"));
		System.out.println(checkPalindrome("CCCCC"));
	}

	private static boolean checkPalindrome(String str) {
		if (str == null)
			return false;
		if (str.length() <= 1) {
			return true;
		}
		String first = str.substring(0, 1);
		String last = str.substring(str.length() - 1);
		if (!first.equals(last))
			return false;
		else
			return checkPalindrome(str.substring(1, str.length() - 1));
	}
}

Здесь мы проверяем, равны ли первая и последняя буквы. Если они не равны, возвращается false. В противном случае вызывается метод снова рекурсивно, передавая подстроку с удаленной первой и последней буквой.

Вы можете проверить больше примеров строк нашего GitHub Repository.

Ссылка: Документация API Oracle

Source:
https://www.digitalocean.com/community/tutorials/java-string-substring