Строки в основном определяются как массив символов. В Java объекты String являются неизменяемыми, что означает, что константа не может быть изменена после создания.
Что такое подстрока в Java?
Часть строки называется подстрокой в Java. Другими словами, подстрока является подмножеством другой строки. Метод substring() возвращает новую строку, которая является подстрокой этой строки. Метод является перегруженным.
Синтаксис
substring (// любой из методов) {// body}
Пример

Здесь строка «Edureka», но когда вы разбиваете ее на блоки, она состоит из подстрок, которые в итоге вычисляют строку.
Методы
В основе метода substring() два основных метода. Они есть:
- String substring(int begIndex).
- String substring(int beginIndex, int endIndex).
String substring (int begIndex)
Этот метод имеет два варианта и возвращает новую строку, которая является подстрокой этой строки. Подстрока начинается с символа по указанному индексу beginIndex до конца строки.
Синтаксис
public String substring (int begIndex)
Примечание: индекс начинается с 0, что относится к первому символу строки.
Пример
public class Substring {
public static void main(String args[])
{
// Initializing String
String Str = new String("Welcome to Edureka");
// using substring() to extract substring
// returns Edureka
System.out.print("The substring is : ");
System.out.println(Str.substring(10));
}
}
Выход: Edureka
String substring(int beginIndex, int endIndex)
Этот метод имеет два варианта и возвращает новую строку, которая является подстрокой этой строки. Подстрока начинается с символа с указанным индексом beginIndex и продолжается до конца строки или до endIndex — 1, если присутствует другой аргумент.
Синтаксис
public String substring(int beginIndex, int endIndex)
Пример
public class Substring2 {
public static void main(String args[])
{
// Initializing String
String Str = new String("Welcome to Edureka");
// using substring() to extract substring
// returns edu
System.out.print("The substring is : ");
System.out.println(Str.substring(10, 14));
}
}
Выход: edu
Программа
Пример кода для печати всех подстрок заданной строки:
class Course{
// Function to print all sub strings
static void subString(char str[], int n)
{
// Pick starting point
for (int len = 1; len <= n; len++)
{
// Pick ending point
for (int i = 0; i <= n - len; i++)
{
// Print characters from current starting point to current ending point.
int j = i + len - 1;
for (int k = i; k <= j; k++)
{
System.out.print(str[k]);
}
System.out.println();
}
}
}
// Driver program to test the above function
public static void main(String[] args)
{
char str[] = {'a', 'b', 'c'};
subString(str, str.length);
}
}
Вывод

Далее, используя метод substr()
public class Substring {
// Function to print all substring
public static void SubString(String str, int n)
{
for (int i = 0; i < n; i++)
for (int j = i+1; j <= n; j++)
System.out.println(str.substring(i, j));
}
public static void main(String[] args)
{
String str = "abcd";
SubString(str, str.length());
}
}
Вывод:

