Java String replaceAll()

השיטה Java String class replaceAll() מחזירה מחרוזת המחליפה את כל רצף התווים התואמים את הרקס והמחרוזת החלפה.

חֲתִימָה

 public String replaceAll(String regex, String replacement)  

פרמטרים

ביטוי רגולרי : הבעה רגילה

תַחֲלִיף : רצף החלפה של תווים

החזרות

מחרוזת שהוחלפה

חריג זריקות

PatternSyntaxException: אם התחביר של הביטוי הרגולרי אינו חוקי.

יישום פנימי

 public String replaceAll(String regex, String replacement) { return Pattern.compile(regex).matcher(this).replaceAll(replacement); }  

Java String replaceAll() לדוגמה: replace character

בואו נראה דוגמה שתחליף את כל ההתרחשויות של דמות אחת .

שם קובץ: ReplaceAllExample1.java

 public class ReplaceAllExample1{ public static void main(String args[]){ String s1='javatpoint is a very good website'; String replaceString=s1.replaceAll('a','e');//replaces all occurrences of 'a' to 'e' System.out.println(replaceString); }}  
בדוק את זה עכשיו

תְפוּקָה:

 jevetpoint is e very good website  

Java String replaceAll() לדוגמה: replace word

בוא נראה דוגמה שתחליף את כל המופעים של a מילה אחת או קבוצה של מילים .

שם קובץ: ReplaceAllExample2.java

 public class ReplaceAllExample2{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('is','was');//replaces all occurrences of 'is' to 'was' System.out.println(replaceString); }}  
בדוק את זה עכשיו

תְפוּקָה:

 My name was Khan. My name was Bob. My name was Sonoo.  

Java String replaceAll() לדוגמה: הסר רווחים לבנים

בואו נראה דוגמה להסרת כל המופעים של רווחים לבנים .

שם קובץ: ReplaceAllExample3.java

 public class ReplaceAllExample3{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('\s',''); System.out.println(replaceString); }}  
בדוק את זה עכשיו

תְפוּקָה:

 MynameisKhan.MynameisBob.MynameisSonoo.  

שיטה Java String replaceAll() דוגמה 4

המתודה replaceAll() זורקת את PatternSyntaxException כאשר יש ביטוי רגולרי לא תקין. תסתכל על הדוגמה הבאה.

שם קובץ: ReplaceAllExample4.java

 public class ReplaceAllExample4 { // main method public static void main(String argvs[]) { // input string String str = 'For learning Java, JavaTpoint is a very good site.'; System.out.println(str); String regex = '\'; // the regular expression is not valid. // invoking the replaceAll() method raises the PatternSyntaxException str = str.replaceAll(regex, 'JavaTpoint '); System.out.println(str); } }  

תְפוּקָה:

 For learning Java, JavaTpoint is a very good site. Exception in thread 'main' java.util.regex.PatternSyntaxException: Unexpected internal error near index 1  at java.base/java.util.regex.Pattern.error(Pattern.java:2015) at java.base/java.util.regex.Pattern.compile(Pattern.java:1784) at java.base/java.util.regex.Pattern.(Pattern.java:1427) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at ReplaceExample4.main(ReplaceExample4.java:12)  

שיטה Java String replaceAll() דוגמה 5

ניתן להשתמש בשיטה replaceAll() גם כדי להוסיף רווחים בין תווים.

שם קובץ: ReplaceAllExample5.java

 public class ReplaceAllExample5 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = ''; // adding a white space before and after every character of the input string. str = str.replaceAll(regex, ' '); System.out.println(str); } }  

תְפוּקָה:

 JavaTpoint J a v a T p o i n t  

שיטה Java String replaceAll() דוגמה 6

אפילו הביטוי הרגולרי null גם לא מתקבל על ידי שיטת replaceAll() מכיוון שה-NullPointerException מועלה.

שם קובץ: ReplaceAllExample6.java

 public class ReplaceAllExample6 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = null; // regular expression is null str = str.replaceAll(regex, ' '); System.out.println(str); } }  

תְפוּקָה:

 JavaTpoint Exception in thread 'main' java.lang.NullPointerException at java.base/java.util.regex.Pattern.(Pattern.java:1426) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at ReplaceAllExample6.main(ReplaceAllExample6.java:13)