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: Objetos String são imutáveis, o que significa que não podem ser alterados após serem 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 strings e por que as strings são imutáveis em Java.

A classe String possui 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 parâmetro de substituição.
  • replaceAll(String regex, String replacement): Retorna um novo objeto String que substitui cada substring que corresponde à expressão regular na string fornecida pelo parâmetro de substituição.
  • substring(int start, int end): Retorna um novo objeto String que contém uma subsequência de caracteres atualmente contida nesta sequência. A substring começa no índice especificado como início e se estende até o caractere no índice fim 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 instâ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 do caractere minúsculo “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 um 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 correspondem a um padrão específico de uma string em Java, usando o método replaceAll() para substituir os caracteres por uma string vazia. O código de exemplo a seguir 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() da classe String para cortar a string. O código de exemplo a seguir 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 seguinte arquivo de exemplo define uma classe que inclui todos os exemplos de método 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 experimentá-lo você 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 subcadeia 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 sua aprendizagem com mais tutoriais de Java.

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