logo

Diferença entre substituir() e substituirAll() em Java

A classe Java String fornece vários métodos para manipular strings. O substituir() e substitua tudo() método é um deles usado para substituir uma string por uma substring especificada. Como o nome de ambos os métodos parece igual, mas seu funcionamento é diferente.

Vamos entender os métodos replace(), replaceAll() e replaceFirst() e diferenciar cada um deles um por um.

Método String.replace()

O substituir() método é um dos métodos de string mais usados ​​​​para substituir todas as ocorrências de um caractere por um determinado caractere. O método replace() do JDK 1.5 substitui o char e uma sequência de valores char.

string encontrar c++

Sintaxe:

Estes são os dois tipos de substituir() métodos na classe Java String.

 public string replace(char prevChar, char newChar) public String replace(CharSequence target, CharSequence replacement) 

Parâmetros

anteriorChar: O parâmetro define o caractere da string a ser substituída.

novoCaracter: O parâmetro define o newChar que substitui o prevChar.

alvo: O parâmetro define a sequência de caracteres de destino.

substituição: O parâmetro define a sequência de substituição de caracteres.

limpando cache npm

Vamos dar um exemplo para entender como podemos usar o método replace() em programas Java.

SubstituirExemplo1.java

 // import required classes and packages package javaTpoint.JavaExample; import java.util.Scanner; // create class ReplaceExample1 to understand both type of replace() method public class ReplaceExample1 { // main() method start public static void main(String args[]){ // declare str1 str2, c, and subStr String str1, str2, targetStr, replacementStr; char prevChar, newChar; // create instance of Scanner class to take input string from user Scanner sc = new Scanner(System.in); // take 1st string from user System.out.println('Enter 1st string :'); str1 = sc.nextLine(); System.out.println('Enter 2nd string :'); str2 = sc.nextLine(); System.out.println('Enter the target string for 1st string :'); targetStr = sc.nextLine(); System.out.println('Enter the replacement string for 1st string :'); replacementStr = sc.nextLine(); System.out.println('Enter character which you want to replace in 2nd string :'); prevChar = sc.next().charAt(0); System.out.println('Enter character which take place of :'+prevChar+' in 2nd string :'); newChar = sc.next().charAt(0); sc.close(); String replaceStr1 = str2.replace(prevChar, newChar);//replaces all occurrences of prevChar to newChar System.out.println('String after replacing '+prevChar+' with '+newChar+' is: '+replaceStr1); String replaceStr2 = str1.replace(targetStr, replacementStr);//replaces all occurrences of targetStr with replacementStr System.out.println('String after replacing '+targetStr+' with '+replacementStr+' is: '+replaceStr2); } } 

Saída:

substituir() vs substituirAll() em Java

Método String.replaceAll()

O substitua tudo() O método é semelhante ao método String.replaceFirst(). A única diferença entre eles é que ele substitui a substring pela string fornecida para todas as ocorrências presentes na string.

Sintaxe:

anaconda vs cobra python

A sintaxe do método replaceAll() é a seguinte:

 public String replaceAll(String str, String replacement) 

Parâmetros

estr: O parâmetro define a substring que precisamos substituir na string.

substituição: O parâmetro define a string de substituição que substitui a str.

Vamos dar um exemplo para entender como podemos usar o método replaceAll() em nossos programas.

SubstituirExemplo3.java

 // import required classes and packages package javaTpoint.JavaExample; import java.util.Scanner; // create class ReplaceExample3 to understand replaceAll() method public class ReplaceExample3 { // main() method start public static void main(String args[]){ // declare str1 str2, subStr String str1, targetStr, replacementStr; // create instance of Scanner class to take input string from user Scanner sc = new Scanner(System.in); // take 1st string from user System.out.println('Enter 1st string :'); str1 = sc.nextLine(); System.out.println('Enter the target string for 1st string :'); targetStr = sc.nextLine(); System.out.println('Enter the replacement string for 1st string :'); replacementStr = sc.nextLine(); sc.close(); String replaceStr1 = str1.replaceAll(targetStr, replacementStr);//replaces all occurrences of targetStr to replacementStr System.out.println('String after replacing '+targetStr+' with '+replacementStr+' is: '+replaceStr1); } } 

Saída:

números romanos de 1 a 100
substituir() vs substituirAll() em Java

Método String.replaceFirst()

O substituirPrimeiro() método é outro método para substituir a substring. Ele substitui a substring pela string fornecida. O método replaceFirst() substitui apenas a primeira ocorrência da substring.

Sintaxe:

A sintaxe do método replaceFirst() é a seguinte:

 public String replaceFirst(String str, String replacement) 

Parâmetros

Estr: O parâmetro define a substring que precisamos substituir na string.

Substituição: O parâmetro define a string de substituição que substitui a str.

Vamos dar um exemplo para entender como podemos usar o método replaceFirst() em nossos programas.

listas em java

SubstituirExample2.java

 // import required classes and packages package javaTpoint.JavaExample; import java.util.Scanner; // create class ReplaceExample2 to understand replaceFirst() method public class ReplaceExample2 { // main() method start public static void main(String args[]){ // declare str1 str2, subStr String str1, targetStr, replacementStr; // create instance of Scanner class to take input string from user Scanner sc = new Scanner(System.in); // take 1st string from user System.out.println('Enter 1st string :'); str1 = sc.nextLine(); System.out.println('Enter the target string for 1st string :'); targetStr = sc.nextLine(); System.out.println('Enter the replacement string for 1st string :'); replacementStr = sc.nextLine(); sc.close(); String replaceStr1 = str1.replaceFirst(targetStr, replacementStr);//replaces first occurrences of targetStr to replacementStr System.out.println('String after replacing '+targetStr+' with '+replacementStr+' is: '+replaceStr1); } 

Saída:

substituir() vs substituirAll() em Java