Introducción
En este artículo, aprenderás algunas formas diferentes de eliminar un carácter de un objeto String
en Java. Aunque la clase String
no tiene un método remove()
, puedes usar variaciones del método replace()
y el método substring()
para eliminar caracteres de cadenas.
Nota: Los objetos String
son inmutables, lo que significa que no pueden cambiarse después de ser creados. Todos los métodos de la clase String
descritos en este artículo devuelven un nuevo objeto String
y no cambian el objeto original. El tipo de cadena que uses depende de los requisitos de tu programa. Aprende más sobre otros tipos de clases de cadena y por qué las cadenas son inmutables en Java.
La clase String
tiene los siguientes métodos que puedes usar para reemplazar o eliminar caracteres:
replace(char oldChar, char newChar)
: Devuelve un nuevo objetoString
que reemplaza todas las ocurrencias deoldChar
en la cadena dada connewChar
. También puedes usar el métodoreplace()
, en el formatoreplace(CharSequence target, CharSequence replacement)
, para devolver un nuevo objetoString
que reemplace una subcadena en la cadena dada.replaceFirst(String regex, String replacement)
: Devuelve un nuevo objetoString
que reemplaza la primera subcadena que coincide con la expresión regular en la cadena dada con la sustitución.replaceAll(String regex, String replacement)
: Devuelve un nuevo objetoString
que reemplaza cada subcadena que coincide con la expresión regular en la cadena dada con la sustitución.substring(int start, int end)
: Devuelve un nuevo objetoString
que contiene una subsecuencia de caracteres actualmente contenidos en esta secuencia. La subcadena comienza en el inicio especificado y se extiende hasta el carácter en el índice final menos 1.
Observe que el primer argumento para los métodos replaceAll()
y replaceFirst()
es una expresión regular. Puede utilizar una expresión regular para eliminar un patrón de una cadena.
Nota: Necesita usar comillas dobles para indicar valores de cadena literales cuando utiliza los métodos replace()
. Si utiliza comillas simples, entonces el JRE asume que está indicando una constante de carácter y obtendrá un error al compilar el programa.
Eliminar un Carácter de una Cadena en Java
Puedes eliminar todas las instancias de un carácter de una cadena en Java utilizando el método replace()
para reemplazar el carácter con una cadena vacía. El siguiente código de ejemplo elimina todas las ocurrencias del minúsculo “a
” de la cadena dada:
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
Eliminar Espacios de una Cadena en Java
Puedes eliminar los espacios de una cadena en Java utilizando el método replace()
para reemplazar los espacios con una cadena vacía. El siguiente código de ejemplo elimina todos los espacios de la cadena dada:
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
Eliminar una Subcadena de una Cadena en Java
Puedes eliminar solo la primera ocurrencia de un carácter o subcadena de una cadena en Java utilizando el método replaceFirst()
para reemplazar el carácter o subcadena con una cadena vacía. El siguiente código de ejemplo elimina la primera ocurrencia de “ab
” de la cadena dada:
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
Eliminar todas las letras minúsculas de una cadena en Java
Puedes usar una expresión regular para eliminar caracteres que coincidan con un patrón dado de una cadena en Java utilizando el método replace.All()
para reemplazar los caracteres con una cadena vacía. El siguiente código de ejemplo elimina todas las letras minúsculas de la cadena dada:
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
Eliminar el último carácter de una cadena en Java
No hay un método específico para reemplazar o eliminar el último carácter de una cadena, pero puedes usar el método substring() de String para truncar la cadena. El siguiente código de ejemplo elimina el último carácter de la cadena dada:
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Outputabc ABC 123 ab
Pruébalo
El siguiente archivo de ejemplo define una clase que incluye todos los ejemplos de métodos proporcionados en este artículo, e imprime los resultados después de invocar cada método en la cadena dada. Puedes utilizar este código de ejemplo para probarlo tú mismo en diferentes cadenas utilizando diferentes patrones de coincidencia y valores de reemplazo.
Si tienes Java instalado, puedes crear un nuevo archivo llamado JavaStringRemove.java
y agregar el siguiente código al archivo:
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// Eliminar un carácter de una cadena en Java
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Eliminar espacios de una cadena en Java
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Eliminar una subcadena de una cadena en Java
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Eliminar todas las letras minúsculas de una cadena en Java
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// Eliminar el último carácter de una cadena en Java
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
Compila y ejecuta el programa:
- javac JavaStringRemove.java
- java JavaStringRemove
Obtendrás la siguiente salida:
OutputString after removing all the 'a's = bc ABC 123 bc
String after removing all the spaces = abcABC123abc
String after removing the first 'ab' substring = c ABC 123 abc
String after removing all the lowercase letters = ABC 123
String after removing the last character = abc ABC 123 ab
Cada método en la clase de ejemplo JavaStringRemove
opera en la cadena dada. La salida muestra que los caracteres especificados en cada método han sido eliminados de la cadena.
Conclusión
En este artículo aprendiste varias formas de eliminar caracteres de las cadenas en Java utilizando métodos de la clase String
, incluyendo replace()
, replaceAll()
, replaceFirst()
y substring()
. Continúa tu aprendizaje con más tutoriales de Java.
Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string