logo

כיצד להסיר תווים מיוחדים מהמחרוזת ב-Java

תו שאיננו תו אלפביתי או מספרי נקרא תו מיוחד. עלינו להסיר את כל התווים המיוחדים מהמחרוזת כדי שנוכל לקרוא את המחרוזת בצורה ברורה ושוטפת. תווים מיוחדים אינם ניתנים לקריאה, אז כדאי להסיר אותם לפני הקריאה.

שיטת Java replaceAll()

Java החלף הכל() שיטה של חוּט class מחליף כל תת מחרוזת של מחרוזת זו התואמת את הביטוי הרגולרי הנתון עם ההחלפה.

תחביר

 public String replaceAll(String regex, String replacement) 

שיטה זו מקבלת שתיים פרמטרים:

    ביטוי רגולרי:זהו הביטוי הרגולרי שאליו יש להתאים מחרוזת. זה יכול להיות מסוגים שונים.תַחֲלִיף:המיתר שיש להחליף במשחק.

זה מחזיר את מחרוזת שנוצרה . זה זורק PatternSyntaxException אם תחביר הביטוי הרגולרי אינו חוקי. השיטה לעיל מניבה את אותה תוצאה כמו הביטוי:

 Pattern.compile(regex).matcher(str).replaceAll(repl) 

דוגמה להסרת תווים מיוחדים באמצעות שיטת replaceAll()

בדוגמה הבאה, שיטת removeAll() מסירה את כל התווים המיוחדים מהמחרוזת ומכניסה רווח במקומם.

 public class RemoveSpecialCharacterExample1 { public static void main(String args[]) { String str= 'This#string%contains^special*characters&.'; str = str.replaceAll('[^a-zA-Z0-9]', ' '); System.out.println(str); } } 

תְפוּקָה

 This string contains special characters 

דוגמא

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

 public class RemoveSpecialCharacterExample2 { public static void main(String args[]) { String str = 'Hello+-^Java+ -Programmer^ ^^-- ^^^ +!'; str = str.replaceAll('[-+^]*', ' '); //str=str.replaceAll('\W', ' ') //we can also use this regular expression System.out.println(str); } } 

תְפוּקָה

 Hello Java Programmer ! 

דוגמה להסרת תווים מיוחדים באמצעות לוגיקה מוגדרת על ידי משתמש

בדוגמה הבאה, אנו מגדירים לוגיקה להסרת תווים מיוחדים ממחרוזת. אנו יודעים שערך ASCII של אלפבית אותיות גדולות מתחיל מ-65 עד 90 (A-Z) וערך ASCII של אלפבית אותיות קטנות מתחיל מ-97 עד 122 (a-z). כל תו משווה עם ערך ה-ASCII המתאים לו. אם שני התנאי שצוין מחזירים true הוא מחזיר true אחרת מחזירה false. ה עבור לולאה מבצע עד אורך המחרוזת. כאשר המחרוזת מגיעה לגודלה, היא מפסיקה את הביצוע ואנו מקבלים את המחרוזת שנוצרה.

 public class RemoveSpecialCharacterExample3 { public static void main(String[] args) { //declare a string having special characters String str=&apos;Pr!ogr#am%m*in&amp;g Lan?#guag(e&apos;; String resultStr=&apos;&apos;; //loop execute till the length of the string for (int i=0;i64 &amp;&amp; str.charAt(i)<=122) returns true if both conditions { adding characters into empty string resultstr="resultStr+str.charAt(i);" } system.out.println('string after removing special characters: '+resultstr); < pre> <p> <strong>Output</strong> </p> <pre> String after removing special characters: ProgrammingLanguage </pre> <hr></=122)>