StringBuilder replace() en Java con ejemplos

El método replace(int start, int end, String str) de la clase StringBuilder se usa para reemplazar los caracteres en una substring de esta secuencia con caracteres en la string especificada. La substring comienza en el inicio del índice especificado y se extiende hasta el carácter del final del índice: 1 o hasta el final de la secuencia si no existe dicho carácter. Al principio, los caracteres de la substring se eliminan y la string pasada como parámetro se inserta en lugar de esos caracteres.
Sintaxis:

public StringBuilder replace?(int start, int end, String str)

Parámetros:
Este método acepta tres parámetros:

  1. inicio : valor de tipo entero que se refiere al índice de inicio.
  2. end : valor de tipo entero que se refiere al índice final.
  3. str : valor de tipo de string que se refiere a la string que reemplazará los contenidos anteriores.

Devoluciones:
este método devuelve el objeto StringBuilder después de reemplazar correctamente los caracteres.
Excepción:
si el inicio es negativo, mayor que la longitud() o mayor que el final, StringIndexOutOfBoundsException.

Los siguientes programas ilustran el método java.lang.StringBuilder.replace():
Ejemplo 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());
    }
}

Producción:

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

Ejemplo 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());
    }
}

Producción:

String = Tony Stark will die
After Replace() String = Tony Stark will not die

Ejemplo 3: cuando se pasa un índice negativo:

// 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();
        }
    }
}

Producción:

java.lang.StringIndexOutOfBoundsException: String index out of range: -15
    at java.lang.AbstractStringBuilder.replace(AbstractStringBuilder.java:851)
    at java.lang.StringBuilder.replace(StringBuilder.java:262)
    at GFG.main(File.java:17)

Ejemplo 4: cuando el índice de inicio pasado es mayor que el índice final:

// 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();
        }
    }
}

Producción:

java.lang.StringIndexOutOfBoundsException: start > end
    at java.lang.AbstractStringBuilder.replace(AbstractStringBuilder.java:855)
    at java.lang.StringBuilder.replace(StringBuilder.java:262)
    at GFG.main(File.java:17)

Referencias:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#replace(int, int, java.lang.String)

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *