הקדמה
פייתון מספקת שלושה אמצעים שניתן להשתמש בהם כדי לחתוך רווחים ריקים ממחרוזת ולהחזיר אובייקט מחרוזת חדש. אמצעי החיתוך של מחרוזת יכולים לחתוך רווח ריק מראש, רווח ריק מסוף או שניהם. כדי ללמוד עוד על הסרת רווחים, כולל כיצד להסיר את כל הרווחים או רק רווחים כפולים, יש להפנות ל־איך להסיר רווחים ממחרוזת בפייתון.
רווחי רווח כוללים את כל תווי הרווח של יוניקוד, כמו רווחים, לשוניות (\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}'")
הפלט הוא:
Outputstring: '
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}'")
הפלט הוא:
Outputstring: '
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