Cómo Eliminar un Carácter de una Cadena en Java

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 objeto String que reemplaza todas las ocurrencias de oldChar en la cadena dada con newChar. También puedes usar el método replace(), en el formato replace(CharSequence target, CharSequence replacement), para devolver un nuevo objeto String que reemplace una subcadena en la cadena dada.
  • replaceFirst(String regex, String replacement): Devuelve un nuevo objeto String 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 objeto String 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 objeto String 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", "");
Output
bc 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(" ", "");
Output
abcABC123abc

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", "");
Output
c 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])", "");
Output
ABC 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);
Output
abc 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:

JavaStringRemove.java

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:

  1. javac JavaStringRemove.java
  2. java JavaStringRemove

Obtendrás la siguiente salida:

Output
String 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