logo

Diferența dintre replace() și replaceAll() în Java

Clasa Java String oferă diverse metode de manipulare a șirurilor. The a inlocui() și înlocuiește-le pe toate() metoda sunt una dintre ele care sunt folosite pentru a înlocui un șir cu un sub șir specificat. Deoarece numele ambelor metode sună la fel, dar funcționarea lor este diferită.

Să înțelegem metodele replace(), replaceAll() și replaceFirst() și să diferențiem fiecare dintre ele una câte una.

String.replace() Metoda

The a inlocui() metoda este una dintre cele mai utilizate metode de șir pentru înlocuirea tuturor aparițiilor unui caracter cu caracterul dat. Metoda replace() din JDK 1.5 înlocuiește caracterul și o secvență de valori char.

java static

Sintaxă:

Acestea sunt următoarele două tipuri de a inlocui() metode din clasa Java String.

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

Parametrii

prevChar: Parametrul definește caracterul șirului care trebuie înlocuit.

newChar: Parametrul definește newChar care ia locul prevChar.

ţintă: Parametrul definește secvența țintă de caractere.

înlocuire: Parametrul definește secvența de înlocuire a caracterelor.

Să luăm un exemplu pentru a înțelege cum putem folosi metoda replace() în programele Java.

ÎnlocuieșteExemplu1.java

flixerul meu
 // 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); } } 

Ieșire:

replace() vs replaceAll() în Java

Metoda String.replaceAll().

The înlocuiește-le pe toate() metoda este similară cu metoda String.replaceFirst(). Singura diferență dintre ele este că înlocuiește subșirul cu șirul dat pentru toate aparițiile prezente în șir.

Sintaxă:

Sintaxa metodei replaceAll() este următoarea:

 public String replaceAll(String str, String replacement) 

Parametrii

converti de la char la int java

str: Parametrul definește sub-șirul pe care trebuie să-l înlocuim în șir.

înlocuire: Parametrul definește șirul de înlocuire care ia locul str.

Să luăm un exemplu pentru a înțelege cum putem folosi metoda replaceAll() în programele noastre.

ÎnlocuieșteExemplu3.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); } } 

Ieșire:

replace() vs replaceAll() în Java

String.replaceFirst() Metoda

The înlocuiți primul() metoda este o altă metodă de înlocuire a subșirului. Acesta înlocuiește sub-șirul cu șirul dat. Metoda replaceFirst() înlocuiește doar prima apariție a subșirului.

Sintaxă:

metode de listă java

Sintaxa metodei replaceFirst() este următoarea:

 public String replaceFirst(String str, String replacement) 

Parametrii

Str: Parametrul definește sub-șirul pe care trebuie să-l înlocuim în șir.

variabilă de referință în java

Înlocuire: Parametrul definește șirul de înlocuire care ia locul str.

Să luăm un exemplu pentru a înțelege cum putem folosi metoda replaceFirst() în programele noastre.

ÎnlocuieșteExemplu2.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); } 

Ieșire:

replace() vs replaceAll() în Java