Чтобы извлечь подстроку из символьной строки, достаточно вызвать метод substring(), у которого имеются две формы. Первая его форма такова:
1 |
String substring(int начальный_индекс) |
где параметр начальный_индекс обозначает позицию, с которой должна начинаться подстрока. Эта форма возвращает копию подстроки, которая начинается с позиции начальный_индекс и продолжается до завершения вызывающей строки.
Вторая форма метода substring() позволяет указать как начальный, так и конечный индекс подстроки следующим образом:
1 |
String substring(int начальный_индекс, int конечный_индекс) |
где параметр начальный_индекс обозначает позицию, с которой должна начинаться извлекаемая подстрока, а конечный_индекс — позицию, на которой должна оканчиваться извлекаемая подстрока.
Возвращаемая подстрока содержит все символы, от первой позиции и до последней, но исключая последнюю.
В следующем примере программы программы метод substring() используется для замены исходной символьной строке всех экземпляров одной подстроки другой подстрокой.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public class SubstringDemo { public static void main(String[] args) { String s = "This is a small test. This is, too."; String search = "is"; String sub = "was"; String result = ""; // Здесь сохраняем результат int i; do { System.out.println(s); i = s.indexOf(search); if(i != -1) { result = s.substring(0, i); result += sub; result += s.substring(i + search.length()); s = result; } } while( i != -1 ); } } |
Ниже приведен результат, выводимый данной программой:
1 2 3 4 5 |
This is a small test. This is, too. Thwas is a small test. This is, too. Thwas was a small test. This is, too. Thwas was a small test. Thwas is, too. Thwas was a small test. Thwas was, too. |