logo

ההבדל בין replace() לבין replaceAll() ב-Java

המחלקה Java String מספקת שיטות שונות לתפעל מחרוזת. ה החלף() ו החלף הכל() שיטה היא אחת מהן המשמשות להחלפת מחרוזת במחרוזת משנה שצוינה. מכיוון שהשם של שתי השיטות נשמע זהה אך פעולתן שונה.

בואו נבין את השיטות replace(), replaceAll() ו-replaceFirst() ונבדיל כל אחת מהן אחת אחת.

שיטה String.replace()

ה החלף() שיטה היא אחת משיטות המחרוזת הנפוצות ביותר להחלפת כל המופעים של תו בתו הנתון. שיטת replace() של JDK 1.5 מחליפה את ה-char ורצף של ערכי char.

גיל שרה עלי חאן

תחביר:

אלו הם שני הסוגים הבאים של החלף() שיטות במחלקת Java String.

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

פרמטרים

prevChar: הפרמטר מגדיר את אופי המחרוזת שיש להחליף.

newChar: הפרמטר מגדיר את newChar שתופס את מקומו של prevChar.

יַעַד: הפרמטר מגדיר את רצף היעד של התווים.

תַחֲלִיף: הפרמטר מגדיר את רצף התווים ההחלפה.

בואו ניקח דוגמה כדי להבין כיצד אנו יכולים להשתמש בשיטת replace() בתוכניות Java.

כמה שבועות בחודש

ReplaceExample1.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); } } 

תְפוּקָה:

replace() לעומת replaceAll() ב-Java

שיטה String.replaceAll()

ה החלף הכל() השיטה דומה לשיטת String.replaceFirst()‎. ההבדל היחיד ביניהם הוא שהוא מחליף את המחרוזת המשנה במחרוזת הנתונה עבור כל ההתרחשויות הקיימות במחרוזת.

תחביר:

התחביר של שיטת replaceAll() הוא כדלקמן:

rhel נגד סנטוס
 public String replaceAll(String str, String replacement) 

פרמטרים

str: הפרמטר מגדיר את תת המחרוזת שעלינו להחליף במחרוזת.

תַחֲלִיף: הפרמטר מגדיר את המחרוזת החלופית שתופסת את מקומו של ה-str.

בואו ניקח דוגמה כדי להבין כיצד אנו יכולים להשתמש בשיטת replaceAll() בתוכניות שלנו.

ReplaceExample3.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); } } 

תְפוּקָה:

replace() לעומת replaceAll() ב-Java

שיטה String.replaceFirst()

ה replaceFirst() שיטה היא שיטה נוספת להחלפת המחרוזת המשנה. הוא מחליף את המחרוזת המשנה במחרוזת הנתונה. המתודה replaceFirst() מחליפה רק את המופע הראשון של המחרוזת המשנה.

מערכים ב-java

תחביר:

התחביר של שיטת replaceFirst() הוא כדלקמן:

spring initializr
 public String replaceFirst(String str, String replacement) 

פרמטרים

Str: הפרמטר מגדיר את תת המחרוזת שעלינו להחליף במחרוזת.

תַחֲלִיף: הפרמטר מגדיר את המחרוזת החלופית שתופסת את מקומו של ה-str.

בואו ניקח דוגמה כדי להבין כיצד אנו יכולים להשתמש בשיטת replaceFirst() בתוכניות שלנו.

ReplaceExample2.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); } 

תְפוּקָה:

replace() לעומת replaceAll() ב-Java