
str1.replace("test", "practice") מחליפה כל מופע של test ב-practice.main ומצהירים את str1 עם הערך This is the test string. מדפיסים str1.toUpperCase() ו-str1.toLowerCase(), ורואים שההדפסה משתנה. המשתנה המקורי נשאר ללא שינוי, כי המתודות מחזירות ערך חדש ולא משנות את המקור.String str2 = str1.replace("test", "practice");. מדפיסים את str2 ורואים את הביטוי החדש, ואת str1 שנשאר כמו שהיה.הטקסט המלא של הדקות הראשונות בהרצאה «Java String - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום, בשיעורים הקודמים התחלנו להכיר את ה-String ואת המתודות שקשורות עליו, את ה-contains-equal-is-empty, מתודות שקשורות ל-content של ה-STR, מתודות שקשורות ל-verifications, שקשורות לתוכן של ה-STR שלנו, Lens, Charet, Index Soft,
וכרגע אנחנו נכיר עוד קבוצה של מתודות שנקראת קבוצה של מניפולציה, קבוצה שאנחנו יכולים לבצע פעולות על התוכן של ה-STR שלנו.
בואו נראה איך אנחנו נבצע את זה אני חוזר לאקליפס יצרתי קלאס חדש שנקרא מניפוליישן מתודס ויש לי את ה-str שלי str1 שהתחלתי אותו עשיתי לו initialize הזנה של נתונים לתוכו של this is the test string זה התוכן של אותו string שנקרא str1 יש לי פה את סוג המשתנה ואת השם שלו ואת התוכן שלו עכשיו אני אני רוצה לבצע שינוי שמבצע בעצם המרה של כל הצ'ארים, את כל האותיות
שנמצאות בתוכו באנגלית ל upper case. אז מה שאני יכול לבצע זה בעצם את הפעולה הבאה, אני עושה system out print land, זו הדפסה למסך, ואז אני קורא למשתנה שלי str1.uppercase ובעצם כל מה מה שאני צריך לעשות עכשיו זה להריץ ובאמת
אני רואה שכל התוכן של ה-String שלי הפך לאותיות גדולות אוקיי ואם אני מריץ אחר כך את הפעולה הבאה זה בעצם להדפיס את ה-Lower Case אני רוצה להפוך את כל ה-STR1 שלי ל-Lower Case ובעצם ה-STR1 שלי למרות שהוא השתנה פה לא השתנה באמת הוא נשאר אותו דבר כמו שהוא רק ביצעתי את הפעולה כאן להדפסה, אם הייתי רוצה הייתי יכול לשמור את ה-str1 שלי ל-str2 ולקבוע שהוא יהיה באותיות גדולות
לתוך ה-str2 ואנחנו נדגים את זה אחר כך אבל כרגע בואו נדפיס את ה-string שלי this is the test string שהכל יהיה lowercase זאת אומרת שה-t תוצג בצורת lowercase בואו נריץ אז str1 מופיע פעמיים, סליחה פה לא שיניתי את זה, לואור קייס ואנחנו נדפיס את זה, נריץ ונראה שפעם ראשונה זה to upper case, הוא הדפיס את כל האותיות בפורמט upper, אותיות גדולות באנגלית ו-this
is the test string, פה הוא מדפיס לי את הכל בלואור קייס לפי הנקודה שנתתי לו, upper case ולואור קייס. נקודה נוספת שאני יכול לבצע בקבוצה הזאת, זה Replace, זאת אומרת אני רוצה לבצע איזושהי החלפה ב-STR שלי, לדוגמא אני רוצה לבצע Replace.
קוראים לעצמנו טסט. זאת אומרת אני אחליף את הביטוי טסט במקום שיופיע טסט יופיע וריפיי או אם אני רוצה איזשהו ביטוי אחר אני יכול לחפש ולהחליט בו נשאר בדוגמה הזאת בטסט, ואני כותב פה str.replace ואני אגיד לו תחפש לי בתוך הסטרינג שלי את הביטוי טסט ותחליף אותו לביטוי נגיד
או practice טסט בוא נראה את ההדפסה אז יש לנו פה את ה-upper case ו-lower case ופה יש לנו את הסטרינג שלנו this is the practice stream במקום הביטוי טסט החלפנו אותו ל-practice.
עכשיו אם אני רוצה בעצם להדפיס עוד פעם את ה-STR המקורי שלי, אנחנו נשים לב שבעצם הוא לא השתנה, כל הפעולות שביצענו עד עכשיו בעצם לא שינו את הביטוי המקורי שלנו, אז בואו נעשה str-content is, ואנחנו פה str1, בעצם זה יהיה המקורי, אז אם אני מדפיס אותו, בעצם ביצענו שרשרת של מניפולציות, אבל בעצם לא באמת
שינינו את הערך של ה-String שלנו. איך אנחנו, אם אנחנו כן רוצים לשנות, אז אנחנו יכולים לעשות את הביטוי הבא, במקום לעשות את זה לתוך System.out.println, את ה-replace, אז כל מה שאנחנו צריכים לעשות זה לעשות String חדש, לדוגמה str2 שווה ולהכניס את הפעולה שעשינו
כאן להדפסה לתוך ה-String החדש שלנו, ואז יש לנו בעצם את הסטרינג החדש עם הערך החדש בוא נדפיס גם את str2. זאת אומרת אנחנו יכולים לבצע מוניפולציה למסך אנחנו לא חייבים לשנות אותו.
אוקיי ובוא נדפיס אז ביצענו שורה של מוניפולציות ופה this is a test string זה הראשון ו-str2 נעשה בהערה ואנחנו נדפיס אותו ואנחנו רואים ש-str1 נשאר אותו דבר str2 שינינו אותו בעזרת המתודה הזאתי שבבצעת replace.