איך לחתוך רווחים ממחרוזת בפייתון

הקדמה

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

רווחי רווח כוללים את כל תווי הרווח של יוניקוד, כמו רווחים, לשוניות (\t), חזרות רכבה (\r) ושורות חדשות (\n). למחלקת str() של פייתון יש את השיטות הבאות שניתן להשתמש בהן כדי לחתוך רווחים ריקים ממחרוזת:

  • strip([chars]): מחתים תווים משני קצוות המחרוזת. כאשר chars נכחד או None, מחזיר מחרוזת חדשה עם כל הרווחים הריקים המובילים והסופיים מסורסים.
  • rstrip([chars]): מחתים תווים מצד ימין של המחרוזת. כאשר chars נכחד או None, מחזיר מחרוזת חדשה עם כל הרווחים הריקים הסופיים מסורסים.
  • lstrip([chars]): מחתים תווים מצד שמאל של המחרוזת. כאשר chars נכחד או None, מחזיר מחרוזת חדשה עם כל הרווחים הריקים המובילים מסורסים.

גילוף הרווחים הריקים ממחרוזת באמצעות שיטות גילוף

הדוגמה הבאה מדגימה כיצד לגלוף רווחים מובילים, רווחים סופיים ושניהם מהתחלה ומהסוף של מחרוזת:

s1 = '  shark  '
print(f"string: '{s1}'")

s1_remove_leading = s1.lstrip()
print(f"remove leading: '{s1_remove_leading}'")

s1_remove_trailing = s1.rstrip()
print(f"remove trailing: '{s1_remove_trailing}'")

s1_remove_both = s1.strip()
print(f"remove both: '{s1_remove_both}'")

הפלט הוא:

string: '  shark  '
remove leading: 'shark  '
remove trailing: '  shark'
remove both: 'shark'

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

s2 = '  \n shark\n squid\t  '
print(f"string: '{s2}'")

s2_remove_leading = s2.lstrip()
print(f"remove leading: '{s2_remove_leading}'")

s2_remove_trailing = s2.rstrip()
print(f"remove trailing: '{s2_remove_trailing}'")

s2_remove_both = s2.strip()
print(f"remove both: '{s2_remove_both}'")

הפלט הוא:

Output
string: ' shark squid ' remove leading: 'shark squid ' remove trailing: ' shark squid' remove both: 'shark squid'

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

גילוף תו רווח מסוים ממחרוזת באמצעות שיטות גילוף

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

s3 = '\n  sammy\n  shark\t  '
print(f"string: '{s3}'")

s3_remove_leading_newline = s3.lstrip('\n')
print(f"remove only leading newline: '{s3_remove_leading_newline}'")

הפלט הוא:

Output
string: ' sammy shark ' remove only leading newline: ' sammy shark '

הפלט מראה כי השיטה lstrip() מסירה את התו החדש בתחילת המחרוזת אך אינה מסירה את הרווחים הראשונים מתוך המחרוזת.

שימו לב ששיטת ה־strip מסירה רק תווים ספציפיים כאשר הם התווים החיצוניים הראשונים והאחרונים. לדוגמה, לא ניתן להשתמש ב־rstrip() כדי להסיר רק את תו הטאב האחרון מתוך s3 = '\n sammy\n shark\t ' בשל הרווחים אחרי \t.

מסקנה

במאמר זה, השתמשתם בשיטות strip(), rstrip(), ו־lstrip() כדי לחתוך רווחים מתחילת וסופה של מחרוזות. למידע נוסף על הסרת רווחים ותווים מתוך מחרוזות, ראו את איך להסיר רווחים ממחרוזת בפייתון. המשך ללמוד עם מדריכים נוספים על מחרוזות בפייתון.

Source:
https://www.digitalocean.com/community/tutorials/python-trim-string-rstrip-lstrip-strip