Метод Java String substring() возвращает подстроку этой строки. Этот метод всегда возвращает новую строку, а исходная строка остается неизменной, потому что String неизменяем в Java.
Методы Java String substring()
Метод Java String substring перегружен и имеет два варианта.
substring(int beginIndex)
: Этот метод возвращает новую строку, которая является подстрокой этой строки. Подстрока начинается с символа по указанному индексу и продолжается до конца этой строки.substring(int beginIndex, int endIndex)
: Подстрока начинается с указанного beginIndex и продолжается до символа по индексу endIndex – 1. Таким образом, длина подстроки равна (endIndex – beginIndex).
Важные моменты метода substring() строки
- Оба метода подстроки могут вызвать
IndexOutOfBoundsException
, если выполняется хотя бы одно из нижеперечисленных условий.- если beginIndex отрицателен
- endIndex больше длины этого объекта String
- beginIndex больше endIndex
- 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