הקדמה
במאמר זה, תלמד כמה דרכים שונות להסרת תו מאובייקט String
ב-Java. אף על פי שכיתת String
אין בה שיטה של remove()
, תוכל להשתמש בשילובים של שיטת replace()
ושיטת substring()
כדי להסיר תווים ממחרוזות.
הערה: אובייקטי String
הם לא שינויים, שזה אומר שלא ניתן לשנות אותם לאחר שנוצרו. כל השיטות של מחלקת String
שתוארו במאמר זה מחזירות אובייקט String
חדש ולא משנות את האובייקט המקורי. סוג המחרוזת שתשתמש בה תלוי בדרישות התוכנית שלך. למידע נוסף על סוגים אחרים של מחלקות מחרוזות ועל סיבות לשינויי אי-השינוי ב-Java.
במחלקת String
ישנם השיטות הבאות שתוכל להשתמש בהן כדי להחליף או להסיר תווים:
replace(char oldChar, char newChar)
: מחזיר אובייקטString
חדש שמחליף את כל המופעים שלoldChar
במחרוזת הנתונה עםnewChar
. תוכל גם להשתמש בשיטתreplace()
, בפורמטreplace(CharSequence target, CharSequence replacement)
, כדי להחזיר אובייקטString
חדש שמחליף מחרוזת משנה במחרוזת הנתונה.replaceFirst(String regex, String replacement)
: מחזיר אובייקטString
חדש שמחליף את תת-המחרוזת הראשונה שמתאימה לביטוי הרגולרי במחרוזת הנתונה עם ההחלפה.replaceAll(String regex, String replacement)
: מחזיר אובייקטString
חדש שמחליף כל תת-מחרוזת שמתאימה לביטוי הרגולרי במחרוזת הנתונה עם ההחלפה.substring(int start, int end)
: מחזיר אובייקטString
חדש שמכיל חלק תת-סדרה של תווים שנמצאים כרגע בסדר זה. החלק מתחיל במיקום המוגדר ומשתרע עד לתו הממוקם במיקום הסופי המוגדר פחות 1.
שים לב שהפרמטר הראשון לשיטות replaceAll()
ו-replaceFirst()
הוא ביטוי רגולרי. ניתן להשתמש בביטוי רגולרי כדי להסיר דפוס ממחרוזת.
הערה: עליך להשתמש בגרשיים כפולות כדי לציין ערכי מחרוזת סטנדרטיים כאשר אתה משתמש בשיטות replace()
. אם תשתמש בגרש יחיד, אז הJRE יניח שאתה מציין תו קבוע ותקבל שגיאה בעת ההידור של התוכנית.
הסרת תו ממחרוזת ב-Java
ניתן להסיר את כל המופעים של תו מתוך מחרוזת ב-Java על ידי שימוש בשיטת replace()
להחלפת התו עם מחרוזת ריקה. הדוגמה הבאה מסירה את כל המופעים של התו "a" באותיות קטנות מהמחרוזת הנתונה:
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
הסרת רווחים ממחרוזת ב-Java
ניתן להסיר רווחים ממחרוזת ב-Java על ידי שימוש בשיטת replace()
להחלפת הרווחים במחרוזת ריקה. הדוגמה הבאה מסירה את כל הרווחים מהמחרוזת הנתונה:
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
הסרת מחרוזת מתוך מחרוזת ב-Java
ניתן להסיר רק את המופע הראשון של תו או מחרוזת ממחרוזת ב-Java על ידי שימוש בשיטת replaceFirst()
להחלפת התו או המחרוזת עם מחרוזת ריקה. הדוגמה הבאה מסירה את המופע הראשון של "ab" מהמחרוזת הנתונה:
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
הסרת כל האותיות הקטנות ממחרוזת ב-Java
ניתן להשתמש בביטוי רגולרי כדי להסיר תווים שתואמים תבנית נתונה ממחרוזת ב-Java על ידי שימוש בשיטת replace.All()
כדי להחליף את התווים במחרוזת ריקה. הקוד בדוגמה הבאה מסיר את כל האותיות הקטנות מהמחרוזת הנתונה:
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
הסרת התו האחרון ממחרוזת ב-Java
אין שיטה ספציפית להחלפה או הסרה של התו האחרון ממחרוזת, אך ניתן להשתמש בשיטת substring() של String כדי לחתוך את המחרוזת. הקוד בדוגמה הבאה מסיר את התו האחרון מהמחרוזת הנתונה:
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Outputabc ABC 123 ab
נסה את זה
הקובץ לדוגמא הבא מגדיר קוביה שכוללת את כל דוגמאות השיטות המסופקות במאמר זה ומדפיסה את התוצאות לאחר הפעלת כל שיטה על המחרוזת הנתונה. ניתן להשתמש בקוד הדוגמא זה כדי לנסות זאת בעצמך על מחרוזות שונות באמצעות דפוסי התאמה וערכי ההחלפה השונים.
אם יש לך את Java מותקנת, תוכל ליצור קובץ חדש בשם JavaStringRemove.java
ולהוסיף את הקוד הבא לקובץ:
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// הסרת תו ממחרוזת ב-Java
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// הסרת רווחים ממחרוזת ב-Java
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// הסרת מחרוזת ממחרוזת ב-Java
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// הסרת כל האותיות הקטנות ממחרוזת ב-Java
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// הסרת התו האחרון ממחרוזת ב-Java
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
היכנס להרצת התוכנית והפעל אותה:
- javac JavaStringRemove.java
- java JavaStringRemove
תקבל את הפלט הבא:
OutputString after removing all the 'a's = bc ABC 123 bc
String after removing all the spaces = abcABC123abc
String after removing the first 'ab' substring = c ABC 123 abc
String after removing all the lowercase letters = ABC 123
String after removing the last character = abc ABC 123 ab
כל שיטה בדוגמא של JavaStringRemove
פועלת על המחרוזת הנתונה. הפלט מראה שהתווים שצויינו בכל שיטה הוסרו מהמחרוזת.
מסקנה
במאמר זה למדת דרכים שונות להסרת תווים ממחרוזות ב-Java באמצעות שיטות מתוך כיתת String
, כולל replace()
, replaceAll()
, replaceFirst()
, ו־substring()
. המשך את הלמידה שלך עם עוד מדריכי Java.
Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string