Como Remover um Caractere de uma String em Java

Introdução

Neste artigo, você aprenderá algumas maneiras diferentes de remover um caractere de um objeto String em Java. Embora a classe String não tenha um método remove(), você pode usar variações do método replace() e do método substring() para remover caracteres de strings.

Nota: Os objetos String são imutáveis, o que significa que não podem ser alterados depois de criados. Todos os métodos da classe String descritos neste artigo retornam um novo objeto String e não alteram o objeto original. O tipo de string que você usa depende dos requisitos do seu programa. Saiba mais sobre outros tipos de classes de string e por que as strings são imutáveis em Java.

A classe String tem os seguintes métodos que você pode usar para substituir ou remover caracteres:

  • replace(char oldChar, char newChar): Retorna um novo objeto String que substitui todas as ocorrências de oldChar na string fornecida por newChar. Você também pode usar o método replace(), no formato replace(CharSequence target, CharSequence replacement), para retornar um novo objeto String que substitui uma substring na string fornecida.
  • replaceFirst(String regex, String replacement): Retorna um novo objeto String que substitui a primeira substring que corresponde à expressão regular na string fornecida pelo replacement.
  • replaceAll(String regex, String replacement): Retorna um novo objeto String que substitui cada substring que corresponde à expressão regular na string fornecida pelo replacement.
  • substring(int start, int end): Retorna um novo objeto String que contém uma subsequência de caracteres atualmente contidos nesta sequência. A substring começa no start especificado e se estende até o caractere no índice end menos 1.

Observe que o primeiro argumento para os métodos replaceAll() e replaceFirst() é uma expressão regular. Você pode usar uma expressão regular para remover um padrão de uma string.

Nota: Você precisa usar aspas duplas para indicar valores de string literais quando usar os métodos replace(). Se você usar aspas simples, então o JRE assume que você está indicando uma constante de caractere e você receberá um erro ao compilar o programa.

Remover um Caractere de uma String em Java

Você pode remover todas as ocorrências de um caractere de uma string em Java usando o método replace() para substituir o caractere por uma string vazia. O código de exemplo a seguir remove todas as ocorrências minúsculas de “a” da string fornecida:

String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Output
bc ABC 123 bc

Remover Espaços de uma String em Java

Você pode remover espaços de uma string em Java usando o método replace() para substituir os espaços por uma string vazia. O código de exemplo a seguir remove todos os espaços da string fornecida:

String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
Output
abcABC123abc

Remover uma Substring de uma String em Java

Você pode remover apenas a primeira ocorrência de um caractere ou substring de uma string em Java usando o método replaceFirst() para substituir o caractere ou substring por uma string vazia. O código de exemplo a seguir remove a primeira ocorrência de “ab” da string fornecida:

String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Output
c ABC 123 abc

Remover todas as letras minúsculas de uma String em Java

Você pode usar uma expressão regular para remover caracteres que correspondam a um padrão específico de uma string em Java, utilizando o método replace.All() para substituir os caracteres por uma string vazia. O seguinte código de exemplo remove todas as letras minúsculas da string fornecida:

String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
Output
ABC 123

Remover o Último Caractere de uma String em Java

Não há um método específico para substituir ou remover o último caractere de uma string, mas você pode usar o método substring() de String para truncar a string. O seguinte código de exemplo remove o último caractere da string fornecida:

String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Output
abc ABC 123 ab

Experimente

O arquivo de exemplo a seguir define uma classe que inclui todos os exemplos de métodos fornecidos neste artigo e imprime os resultados após invocar cada método na string fornecida. Você pode usar este código de exemplo para experimentar por si mesmo em diferentes strings usando diferentes padrões de correspondência e valores de substituição.

Se você tiver o Java instalado, pode criar um novo arquivo chamado JavaStringRemove.java e adicionar o seguinte código ao arquivo:

JavaStringRemove.java

public class JavaStringRemove {

	public static void main(String[] args) {
    	String str = "abc ABC 123 abc";

		// Remover um caractere de uma string em Java
		System.out.println("String after removing all the 'a's = "+str.replace("a", ""));

		// Remover espaços de uma string em Java
		System.out.println("String after removing all the spaces = "+str.replace(" ", ""));

		// Remover uma substring de uma string em Java
		System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));

		// Remover todas as letras minúsculas de uma string em Java
		System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));

		// Remover o último caractere de uma string em Java
		System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
	}

}

Compile e execute o programa:

  1. javac JavaStringRemove.java
  2. java JavaStringRemove

Você obterá a seguinte saída:

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 na classe de exemplo JavaStringRemove opera na string fornecida. A saída mostra que os caracteres especificados em cada método foram removidos da string.

Conclusão

Neste artigo, você aprendeu várias maneiras de remover caracteres de strings em Java usando métodos da classe String, incluindo replace(), replaceAll(), replaceFirst() e substring(). Continue seu aprendizado com mais tutoriais de Java.

Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string