איך להסיר תווים ממחרוזת ב-Python

הקדמה

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

  • שיטת 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()

שיטת ה-החלפת מחרוזת מחליפה תו בתו חדש. ניתן להסיר תו ממחרוזת על ידי הזנת התו(ים) להחלפה כארגומנט הראשון ומחרוזת ריקה כארגומנט השני.

הגדר את משתנה המחרוזת:

  1. s = 'abc12321cba'

החלף את התו עם מחרוזת ריקה:

  1. print(s.replace('a', ''))

הפלט הוא:

Output
bc12321cb

הפלט מראה ששני המופעים של התו a הוסרו מהמחרוזת.

הסרת תווי שורה חדשה ממחרוזת באמצעות שיטת ה-replace()

הגדר משתנה מחרוזת עם כמה תווי שורה חדשה:

  1. s = 'ab\ncd\nef'

החלף את תו השורה החדשה עם מחרוזת ריקה:

  1. print(s.replace('\n', ''))

הפלט הוא:

Output
abcdef

הפלט מראה ששני תווי השורה החדשה (\n) הוסרו מהמחרוזת.

הסרת תת-מחרוזת ממחרוזת באמצעות שיטת ה-replace()

השיטה replace() מקבלת מחרוזות כארגומנטים, כך שתוכל גם להחליף מילה במחרוזת.

הגדר את משתנה המחרוזת:

  1. s = 'Helloabc'

החלף מילה במחרוזת ריקה:

  1. print(s.replace('Hello', ''))

הפלט הוא:

Output
abc

הפלט מראה שהמחרוזת Hello הוסרה מהמחרוזת המקורית.

הסרת תווים מספר ספציפי של פעמים באמצעות השיטה replace()

ניתן להעביר ארגומנט שלישי בשיטת replace() כדי לציין את מספר ההחלפות שיש לבצע במחרוזת לפני שהתהליך יעצור. לדוגמה, אם תציין 2 כארגומנט השלישי, אז רק שתי הופעות הראשונות של התווים הנתונים יוחלפו.

הגדר את משתנה המחרוזת:

  1. s = 'abababab'

החלף את שתי הופעות הראשונות של התו עם התו החדש:

  1. print(s.replace('a', 'A', 2)) # בצע את ההחלפה פעמיים

הפלט הוא:

Output
AbAbabab

הפלט מראה ששתי הופעות הראשונות של התו a הוחלפו בתו A. מכיוון שההחלפה נעשתה רק פעמיים, שאר ההופעות של a נשארות במחרוזת.

הסרת תווים ממחרוזת באמצעות שיטת translate()

שיטת המחרוזת של פייתון translate() מחליף כל תו במחרוזת באמצעות הטבלה או המילון שניתן.

הכרזה על משתנה מחרוזת:

  1. s = 'abc12321cba'

קבל את ערך נקודת הקוד היוניקוד של תו והחלף אותו ב- None:

  1. print(s.translate({ord('b'): None}))

הפלט הוא:

Output
ac12321ca

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

הסרת מספר תווים ממחרוזת באמצעות שיטת translate()

ניתן להחליף מספר תווים במחרוזת באמצעות שיטת translate(). בדוגמה הבאה יש שימוש במילון מותאם אישית, {ord(i): None for i in 'abc'}, המחליף את כל המופעים של a, b, ו- c במחרוזת נתונה ב- None.

הכרזה על משתנה מחרוזת:

  1. s = 'abc12321cba'

החלף את כל התווים abc ב- None:

  1. print(s.translate({ord(i): None for i in 'abc'}))

הפלט הוא:

Output
12321

הפלט מראה שכל המופעים של a, b, ו־c נמחקו מהמחרוזת כפי שהוגדר במילון המותאם.

הסרת תווים חדשים מתוך מחרוזת באמצעות השיטה translate()

אפשר להחליף תווים חדשים במחרוזת באמצעות השיטה translate(). בדוגמה הבאה משתמשים במילון מותאם אישית, {ord('\n'): None}, שמחליף את כל המופעים של \n במחרוזת הנתונה עם None.

מצהירים על משתנה מחרוזת:

  1. s = 'ab\ncd\nef'

מחליפים את כל התווים \n ב־None:

  1. print(s.translate({ord('\n'): None}))

הפלט הוא:

Output
abcdef

הפלט מראה שכל המופעים של התו החדש \n נמחקו מהמחרוזת כפי שהוגדר במילון המותאם.

סיכום

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

Source:
https://www.digitalocean.com/community/tutorials/python-remove-character-from-string