הקדמה
מאמר זה מתאר שני שיטות נפוצות שניתן להשתמש בהן כדי להסיר תווים ממחרוזת בעזרת פייתון:
- שיטת
replace() של מחרוזת
- שיטת
translate() של מחרוזת
כדי ללמוד כמה דרכים שונות להסיר רווחים ממחרוזת בפייתון, ראו את הסרת רווחים ממחרוזת בפייתון.
A Python String object is immutable, so you can’t change its value. Any method that manipulates a string value returns a new String object.
הדוגמאות במדריך זה משתמשות ב־מסוף אינטרקטיבי של פייתון בשורת הפקודה כדי להדגים שיטות שונות להסרת תווים.
השתמשו באפליקציות פייתון שלכם מה־GitHub באמצעות פלטפורמת האפליקציות של DigitalOcean. תן ל־DigitalOcean להתמקד בהתאמת הגודל של האפליקציה שלך.
הסרת תווים ממחרוזת באמצעות שיטת replace()
שיטת ה-החלפת מחרוזת מחליפה תו בתו חדש. ניתן להסיר תו ממחרוזת על ידי הזנת התו(ים) להחלפה כארגומנט הראשון ומחרוזת ריקה כארגומנט השני.
הגדר את משתנה המחרוזת:
- s = 'abc12321cba'
החלף את התו עם מחרוזת ריקה:
- print(s.replace('a', ''))
הפלט הוא:
Outputbc12321cb
הפלט מראה ששני המופעים של התו a
הוסרו מהמחרוזת.
הסרת תווי שורה חדשה ממחרוזת באמצעות שיטת ה-replace()
הגדר משתנה מחרוזת עם כמה תווי שורה חדשה:
- s = 'ab\ncd\nef'
החלף את תו השורה החדשה עם מחרוזת ריקה:
- print(s.replace('\n', ''))
הפלט הוא:
Outputabcdef
הפלט מראה ששני תווי השורה החדשה (\n
) הוסרו מהמחרוזת.
הסרת תת-מחרוזת ממחרוזת באמצעות שיטת ה-replace()
השיטה replace()
מקבלת מחרוזות כארגומנטים, כך שתוכל גם להחליף מילה במחרוזת.
הגדר את משתנה המחרוזת:
- s = 'Helloabc'
החלף מילה במחרוזת ריקה:
- print(s.replace('Hello', ''))
הפלט הוא:
Outputabc
הפלט מראה שהמחרוזת Hello
הוסרה מהמחרוזת המקורית.
הסרת תווים מספר ספציפי של פעמים באמצעות השיטה replace()
ניתן להעביר ארגומנט שלישי בשיטת replace()
כדי לציין את מספר ההחלפות שיש לבצע במחרוזת לפני שהתהליך יעצור. לדוגמה, אם תציין 2
כארגומנט השלישי, אז רק שתי הופעות הראשונות של התווים הנתונים יוחלפו.
הגדר את משתנה המחרוזת:
- s = 'abababab'
החלף את שתי הופעות הראשונות של התו עם התו החדש:
- print(s.replace('a', 'A', 2)) # בצע את ההחלפה פעמיים
הפלט הוא:
OutputAbAbabab
הפלט מראה ששתי הופעות הראשונות של התו a
הוחלפו בתו A
. מכיוון שההחלפה נעשתה רק פעמיים, שאר ההופעות של a
נשארות במחרוזת.
הסרת תווים ממחרוזת באמצעות שיטת translate()
שיטת המחרוזת של פייתון translate()
מחליף כל תו במחרוזת באמצעות הטבלה או המילון שניתן.
הכרזה על משתנה מחרוזת:
- s = 'abc12321cba'
קבל את ערך נקודת הקוד היוניקוד של תו והחלף אותו ב- None
:
- print(s.translate({ord('b'): None}))
הפלט הוא:
Outputac12321ca
הפלט מראה ששני המופעים של התו b
הוסרו מהמחרוזת כפי שהוגדר במילון המותאם אישית.
הסרת מספר תווים ממחרוזת באמצעות שיטת translate()
ניתן להחליף מספר תווים במחרוזת באמצעות שיטת translate()
. בדוגמה הבאה יש שימוש במילון מותאם אישית, {ord(i): None for i in 'abc'}
, המחליף את כל המופעים של a
, b
, ו- c
במחרוזת נתונה ב- None
.
הכרזה על משתנה מחרוזת:
- s = 'abc12321cba'
החלף את כל התווים abc
ב- None
:
- print(s.translate({ord(i): None for i in 'abc'}))
הפלט הוא:
Output12321
הפלט מראה שכל המופעים של a
, b
, ו־c
נמחקו מהמחרוזת כפי שהוגדר במילון המותאם.
הסרת תווים חדשים מתוך מחרוזת באמצעות השיטה translate()
אפשר להחליף תווים חדשים במחרוזת באמצעות השיטה translate()
. בדוגמה הבאה משתמשים במילון מותאם אישית, {ord('\n'): None}
, שמחליף את כל המופעים של \n
במחרוזת הנתונה עם None
.
מצהירים על משתנה מחרוזת:
- s = 'ab\ncd\nef'
מחליפים את כל התווים \n
ב־None
:
- print(s.translate({ord('\n'): None}))
הפלט הוא:
Outputabcdef
הפלט מראה שכל המופעים של התו החדש \n
נמחקו מהמחרוזת כפי שהוגדר במילון המותאם.
סיכום
במדריך זה, למדת כיצד ניתן להסיר תווים ממחרוזות בפייתון. המשך ללמוד עוד על מחרוזות פייתון.
Source:
https://www.digitalocean.com/community/tutorials/python-remove-character-from-string