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.



