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 objetoString
que substitui todas as ocorrências deoldChar
na string fornecida pornewChar
. Você também pode usar o métodoreplace()
, no formatoreplace(CharSequence target, CharSequence replacement)
, para retornar um novo objetoString
que substitui uma substring na string fornecida.replaceFirst(String regex, String replacement)
: Retorna um novo objetoString
que substitui a primeira substring que corresponde à expressão regular na string fornecida pelo replacement.replaceAll(String regex, String replacement)
: Retorna um novo objetoString
que substitui cada substring que corresponde à expressão regular na string fornecida pelo replacement.substring(int start, int end)
: Retorna um novo objetoString
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", "");
Outputbc 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(" ", "");
OutputabcABC123abc
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", "");
Outputc 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])", "");
OutputABC 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);
Outputabc 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:
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:
- javac JavaStringRemove.java
- java JavaStringRemove
Você obterá a seguinte saída:
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 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