Reemplazo de subcadenas en Java

JavaBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderemos cómo reemplazar subcadenas en una String utilizando el lenguaje de programación Java. Utilizaremos diferentes métodos disponibles en Java para reemplazar un carácter/múltiples caracteres o subcadenas. Al final, tendremos una clara comprensión de cómo implementar estos métodos en código Java.

Crea un archivo Java

Vamos a crear un archivo Java para escribir y ejecutar el código. Abre la terminal y navega hasta el directorio del proyecto. Crea un nuevo archivo llamado SubstringReplace.java utilizando el siguiente comando:

touch SubstringReplace.java

Abre el archivo en tu editor de texto preferido.

Reemplazando caracteres individuales

Podemos utilizar el método replace() para reemplazar una sola aparición de un carácter en la cadena. Aquí hay un ejemplo:

public class SubstringReplace {
    public static void main(String[] args) {
        String originalString = "hello world!";
        System.out.println("Original String: " + originalString);
        // Replacing a single character
        String newString = originalString.replace('l', 'L');
        System.out.println("New String: " + newString);
    }
}

En el ejemplo anterior, estamos reemplazando el carácter minúsculo l con un carácter mayúsculo L en la cadena original.

Para compilar y ejecutar el código, utiliza los siguientes comandos:

javac SubstringReplace.java
java SubstringReplace

Esto debería producir la siguiente salida:

Original String: hello world!
New String: heLLo worLd!

Reemplazando subcadenas

Podemos utilizar el método replace() para reemplazar todas las apariciones de una subcadena con una nueva subcadena. Aquí hay un ejemplo:

public class SubstringReplace {
    public static void main(String[] args) {
        String originalString = "the quick brown fox jumps over the lazy dog";
        System.out.println("Original String: " + originalString);
        // Replacing a substring
        String newString = originalString.replace("the", "a");
        System.out.println("New String: " + newString);
    }
}

En el ejemplo anterior, estamos reemplazando todas las apariciones de la subcadena "the" con la subcadena "a".

Para compilar y ejecutar el código, utiliza los mismos comandos que en el paso 2.

Esto debería producir la siguiente salida:

Original String: the quick brown fox jumps over the lazy dog
New String: a quick brown fox jumps over a lazy dog

Reemplazando la primera aparición de una subcadena

Podemos utilizar el método replaceFirst() para reemplazar la primera aparición de una subcadena con una nueva subcadena. Aquí hay un ejemplo:

public class SubstringReplace {
    public static void main(String[] args) {
        String originalString = "the quick brown fox jumps over the lazy dog";
        System.out.println("Original String: " + originalString);
        // Replacing the first occurrence of a substring
        String newString = originalString.replaceFirst("the", "a");
        System.out.println("New String: " + newString);
    }
}

En el ejemplo anterior, estamos reemplazando la primera aparición de la subcadena "the" con la subcadena "a".

Para compilar y ejecutar el código, utiliza los mismos comandos que en el paso 2.

Esto debería producir la siguiente salida:

Original String: the quick brown fox jumps over the lazy dog
New String: a quick brown fox jumps over the lazy dog

Reemplazar caracteres con expresiones regulares

Podemos utilizar expresiones regulares para reemplazar un carácter con un patrón. Aquí hay un ejemplo:

public class SubstringReplace {
    public static void main(String[] args) {
        String originalString = "the quick brown fox jumps over the lazy dog";
        System.out.println("Original String: " + originalString);
        // Replacing characters with regular expressions
        String newString = originalString.replaceAll("[aeiou]", "");
        System.out.println("New String: " + newString);
    }
}

En el ejemplo anterior, estamos eliminando todas las vocales de la cadena original utilizando una expresión regular.

Para compilar y ejecutar el código, utiliza los mismos comandos que en el paso 2.

Esto debería producir la siguiente salida:

Original String: the quick brown fox jumps over the lazy dog
New String: th qck brwn fx jmps vr th lzy dg

Reemplazar múltiples caracteres con expresiones regulares

Podemos utilizar expresiones regulares para reemplazar múltiples caracteres con un patrón. Aquí hay un ejemplo:

public class SubstringReplace {
    public static void main(String[] args) {
        String originalString = "the quick brown fox jumps over the lazy dog";
        System.out.println("Original String: " + originalString);
        // Replacing multiple characters with regular expressions
        String newString = originalString.replaceAll("[aeiouAEIOU]", "");
        System.out.println("New String: " + newString);
    }
}

En el ejemplo anterior, estamos eliminando todas las vocales (minúsculas y mayúsculas) de la cadena original utilizando una expresión regular.

Para compilar y ejecutar el código, utiliza los mismos comandos que en el paso 2.

Esto debería producir la siguiente salida:

Original String: the quick brown fox jumps over the lazy dog
New String: th qck brwn fx jmps vr th lzy dg

Reemplazar subcadenas con expresiones regulares

Podemos utilizar expresiones regulares para reemplazar una subcadena con un patrón. Aquí hay un ejemplo:

public class SubstringReplace {
    public static void main(String[] args) {
        String originalString = "the quick brown fox jumps over the lazy dog";
        System.out.println("Original String: " + originalString);
        // Replacing substrings with regular expressions
        String newString = originalString.replaceAll("\\w+", "a");
        System.out.println("New String: " + newString);
    }
}

En el ejemplo anterior, estamos reemplazando todas las palabras de la cadena original con la letra a utilizando una expresión regular.

Para compilar y ejecutar el código, utiliza los mismos comandos que en el paso 2.

Esto debería producir la siguiente salida:

Original String: the quick brown fox jumps over the lazy dog
New String: a a a a a a a a a

Reemplazar múltiples apariciones de una subcadena con expresiones regulares

Podemos utilizar expresiones regulares para reemplazar todas las apariciones de una subcadena con un patrón. Aquí hay un ejemplo:

public class SubstringReplace {
    public static void main(String[] args) {
        String originalString = "the quick brown fox jumps over the lazy dog";
        System.out.println("Original String: " + originalString);
        // Replacing all occurrences of a substring with regular expressions
        String newString = originalString.replaceAll("the", "a");
        System.out.println("New String: " + newString);
    }
}

En el ejemplo anterior, estamos reemplazando todas las apariciones de la subcadena "the" con la letra a utilizando una expresión regular.

Para compilar y ejecutar el código, utiliza los mismos comandos que en el paso 2.

Esto debería producir la siguiente salida:

Original String: the quick brown fox jumps over the lazy dog
New String: a quick brown fox jumps over a lazy dog

Usando StringBuilder para reemplazar subcadenas

Podemos utilizar la clase StringBuilder para reemplazar subcadenas de manera más eficiente. Aquí hay un ejemplo:

public class SubstringReplace {
    public static void main(String[] args) {
        String originalString = "the quick brown fox jumps over the lazy dog";
        System.out.println("Original String: " + originalString);
        // Using StringBuilder to replace substrings
        StringBuilder stringBuilder = new StringBuilder(originalString);
        stringBuilder.replace(0, 3, "a");
        String newString = stringBuilder.toString();
        System.out.println("New String: " + newString);
    }
}

En el ejemplo anterior, estamos utilizando la clase StringBuilder para reemplazar los primeros 3 caracteres de la cadena con la letra a.

Para compilar y ejecutar el código, utiliza los mismos comandos que en el paso 2.

Esto debería producir la siguiente salida:

Original String: the quick brown fox jumps over the lazy dog
New String: a quick brown fox jumps over the lazy dog

Usando StringBuffer para reemplazar subcadenas

Similar a StringBuilder, podemos utilizar la clase StringBuffer para reemplazar subcadenas de manera más eficiente. La única diferencia es que StringBuffer es seguro para hilos. Aquí hay un ejemplo:

public class SubstringReplace {
    public static void main(String[] args) {
        String originalString = "the quick brown fox jumps over the lazy dog";
        System.out.println("Original String: " + originalString);
        // Using StringBuffer to replace substrings
        StringBuffer stringBuffer = new StringBuffer(originalString);
        stringBuffer.replace(0, 3, "a");
        String newString = stringBuffer.toString();
        System.out.println("New String: " + newString);
    }
}

En el ejemplo anterior, estamos utilizando la clase StringBuffer para reemplazar los primeros 3 caracteres de la cadena con la letra a.

Para compilar y ejecutar el código, utiliza los mismos comandos que en el paso 2.

Esto debería producir la siguiente salida:

Original String: the quick brown fox jumps over the lazy dog
New String: a quick brown fox jumps over the lazy dog

Resumen

En este laboratorio, aprendimos cómo reemplazar subcadenas en un String utilizando el lenguaje de programación Java. Discutimos varios métodos disponibles en Java para reemplazar un carácter/múltiples caracteres o subcadenas. También aprendimos cómo utilizar expresiones regulares y las clases StringBuilder/StringBuffer para reemplazar subcadenas de manera más eficiente. Al utilizar este conocimiento, puedes manipular fácilmente cadenas en tus programas Java.