StringBuilder replace () в Java с примерами

Опубликовано: 11 Февраля, 2022

Метод replace (int start, int end, String str) класса StringBuilder используется для замены символов в подстроке этой последовательности на символы в указанной строке. Подстрока начинается с указанного начала индекса и продолжается до символа в конце индекса - 1 или до конца последовательности, если такой символ не существует. Сначала символы подстроки удаляются, а строка, переданная в качестве параметров, вставляется вместо этих символов.
Синтаксис:

 общедоступный StringBuilder заменить? (int start, int end, String str)

Параметры:
Этот метод принимает три параметра:

  1. start - значение целочисленного типа, которое относится к начальному индексу.
  2. end - значение целочисленного типа, которое относится к конечному индексу.
  3. str - значение типа String, которое относится к String, которое заменит предыдущее содержимое.

Возврат:
Этот метод возвращает объект StringBuilder после успешной замены символов.
Исключение:
Если начало отрицательное, больше length () или больше конца, тогда StringIndexOutOfBoundsException.

Below programs illustrate the java.lang.StringBuilder.replace() method:
Example 1:

// Java program to demonstrate
// the replace() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuilder object
        // with a String pass as parameter
        StringBuilder str
            = new StringBuilder("WelcomeGeeks");
  
        // print string
        System.out.println("String = "
                           + str.toString());
  
        // replace Character from index 1 to 7 by "e are "
        StringBuilder strReturn = str.replace(1, 7, "e are ");
  
        // print string
        System.out.println("After Replace() String = "
                           + strReturn.toString());
    }
}

Выход:

String = WelcomeGeeks
After Replace() String = We are Geeks

Example 2:

// Java program to demonstrate
// the replace() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuilder object
        // with a String pass as parameter
        StringBuilder str
            = new StringBuilder("Tony Stark will die");
  
        // print string
        System.out.println("String = "
                           + str.toString());
  
        // replace Character from index 15 to 16 by " not "
        StringBuilder strReturn = str.replace(15, 16, " not ");
  
        // print string
        System.out.println("After Replace() String = "
                           + strReturn.toString());
    }
}

Выход:

Строка = Тони Старк умрет
After Replace () String = Тони Старк не умрет

Example 3: When negative index is passed:

// Java program to demonstrate
// Exception thrown by the replace() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuilder object
        // with a String pass as parameter
        StringBuilder str
            = new StringBuilder("Tony Stark");
  
        try {
            // replace Character from index -15 to 16 by "Captain America"
            StringBuilder strReturn = str.replace(-15, 16, "Captain America");
        }
        catch (Exception e) {
  
            e.printStackTrace();
        }
    }
}

Выход:

java.lang.StringIndexOutOfBoundsException: индекс строки вне диапазона: -15
    в java.lang.AbstractStringBuilder.replace (AbstractStringBuilder.java:851)
    в java.lang.StringBuilder.replace (StringBuilder.java:262)
    в GFG.main (File.java:17)

Example 4: When start index passed is greater than end index:

// Java program to demonstrate
// Exception thrown by the replace() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuilder object
        // with a String pass as parameter
        StringBuilder str
            = new StringBuilder("Tony Stark");
  
        try {
            // replace Character from index 5 to 3 by "Captain America"
            StringBuilder strReturn = str.replace(5, 3, "Captain America");
        }
        catch (Exception e) {
  
            e.printStackTrace();
        }
    }
}

Выход:

java.lang.StringIndexOutOfBoundsException: начало> конец
    в java.lang.AbstractStringBuilder.replace (AbstractStringBuilder.java:855)
    в java.lang.StringBuilder.replace (StringBuilder.java:262)
    в GFG.main (File.java:17)

Использованная литература:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#replace(int, int, java.lang.String)

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .