Quais são os métodos replace () comuns da classe String em Java?
A classe String fornece quatro tipos diferentes de métodos replace() em Java. Cada um dos métodos aborda um caso de uso específico. Seus nomes estão listados abaixo:- substituir(char, char)
- substituir(String, String)
- substituirTodos(String, String)
- substituirPrimeiro(String, String)
Método Java String replace()
O método Java String replace() é usado para substituir um caractere especificado pelo caractere fornecido, ambos passados como parâmetros. Este método é adequado para substituir qualquer caractere em uma String por algum outro caractere de sua escolha.Cabeçalho do Método
public String replace(char oldCharacter, char newCharacter)
Parâmetros do método
O método usa dois parâmetros ou argumentos do tipo 'char'.-
char oldCharacter contém o caractere a ser substituído.
-
char newCharacter contém o caractere que será usado no lugar do oldCharacter.
Tipo de retorno
O método String replace retorna a string atualizada após a substituição do caractere desejado.Exemplo
Vamos dar uma olhada em diferentes exemplos simples para entender como esse método funciona.public class Driver {
public static void main(String[] args) {
String myString = "An apple a day, keeps the doctor away!";
System.out.println("Original Sentence: \t\t\t" + myString);
// Example 1 using String replace(char, char)
char oldCharacter = 'a'; // replacing character
char newCharacter = 'A'; // character to be replaced
String updatedString = myString.replace(oldCharacter, newCharacter);
System.out.println("After replacing '" + oldCharacter + "' with '" +
// 'a' is replaced and not with 'A' as the method is case sensitive
newCharacter + "': \t\t" + updatedString);
// Example 2 using String replace(String, String)
String oldString = "apple";
String newString = "orange";
// using the method String replace
String updatedString1 = myString.replace(oldString, newString);
System.out.println("Replacing '" + oldString + "' with '" +
newString + "': \t" + updatedString1 + "\n");
}
}
Saída
Frase Original: Uma maçã por dia, afasta o médico! Depois de substituir 'a' por 'A': An Apple A dAy, mantém o médico afastado! Substituir 'maçã' por 'laranja': Uma laranja por dia mantém o médico longe!
Observação: é recomendável familiarizar-se com expressões regulares, também conhecidas como regex, antes de prosseguir.
Método Java String replaceAll()
O método Java String replaceAll() substitui TODAS as ocorrências de uma expressão regular passada como parâmetro pela String desejada . Isso significa que cada cópia do regex é atualizada pela string de substituição.Cabeçalho do Método
public String replaceAll(String regularExpression, String replacementStr)
Parâmetros do método
Este método recebe dois argumentos do tipo 'String'.-
String regularExpression contém o regex (padrão) a ser substituído.
-
String replaceStr é a String que será usada no lugar do regex.
Tipo de retorno
O método retorna uma nova string após substituir todas as ocorrências do regex.Exemplo
Esse método é comumente usado para atualizar registros de dados enormes. Para uma compreensão mais profunda, vamos ver diferentes exemplos do método replaceAll() .public class Driver1 {
public static void main(String[] args) {
String myString = "Mastering a programming language begins with great logic building!";
System.out.println("Original Sentence: \t\t\t" + myString);
String regex = "[\sa]"; // This regex is used to remove all spaces and a(s) in the string
String replacementStr = "";
// using the method String replaceAll(); to remove ALL spaces
System.out.println("After replacing \"" + regex + "\" with \"" + replacementStr + "\": \t"
+ myString.replaceAll(regex, replacementStr) + "\n");
}
}
Saída
Frase Original: Dominar uma linguagem de programação começa com uma grande construção lógica! Depois de substituir "[ a]" por "": Msteringprogramminglngugebeginswithgretlogicbuilding!
Método Java String replaceFirst ()
O método Java String replaceFirst() substitui a APENAS PRIMEIRA ocorrência do regex passado para este método.Cabeçalho do Método
public String replaceFirst(String regularExpression, String replacementStr)
Parâmetros do método
Este método recebe dois argumentos do tipo 'String'.-
String regularExpression contém o regex (padrão) a ser substituído.
-
String replaceStr é a String que será usada no lugar do regex.
Tipo de retorno
O método retorna uma nova string após substituir apenas a PRIMEIRA ocorrência do regex.Exemplo
Este método pode ser usado quando você deseja atualizar apenas o primeiro registro encontrado do seu argumento correspondente. Vamos explorar como isso funciona no exemplo abaixo.public class Driver2 {
public static void main(String[] args) {
String myString = "Good Morning. You wonders of Nature. Today is a great day to be happy.";
System.out.println("Original Sentence: \t\t" + myString);
String regex = "\\."; // regex to update period / full stop
String replacementStr = "!";
// using the method String replaceFirst();
// to remove first period(.) with exclamation(!) mark
System.out.println("After replacing '" + regex + "' with '" + replacementStr + "': \t"
+ myString.replaceFirst(regex, replacementStr));
}
}
Saída
Frase original: Bom dia. Você maravilhas da natureza. Hoje é um ótimo dia para ser feliz. Depois de substituir '\.' com '!': Bom dia! Você maravilhas da natureza. Hoje é um ótimo dia para ser feliz.