הקדמה
המדריך הזה מספק דוגמאות לשיטות שונות שניתן להשתמש בהן כדי להסיר רווחים ממחרוזת ב-Python.
A Python String is immutable, so you can’t change its value. Any method that manipulates a string value returns a new string.
השתמש בפלטפורמת היישום של DigitalOcean כדי להפעיל את יישומי ה-Python שלך מ-GitHub, באופן שה-DigitalOcean יתמקד בהתרחבות היישום שלך.
הדוגמאות במדריך זה משתמשות במסוף אינטראקטיבי של Python כדי להדגים שיטות שונות שמסירות רווחים. הדוגמאות משתמשות במחרוזת הבאה:
s = ' Hello World From DigitalOcean \t\n\r\tHi There '
הפלט הוא:
Output Hello World From DigitalOcean
Hi There
מחרוזת זו מכילה סוגים שונים של רווחים ותווי שורה, כמו רווח (
), טאב (\t
), שורת חדש (\n
), ו- carriage return (\r
).
הסרת רווחים בתחילת ובסופה באמצעות השיטה strip()
השיטה strip()
במחרוזת של Python מסירה תווים בתחילת ובסופה של מחרוזת. התו ברירת מחדל להסרה הוא רווח.
הגדר את משתנה המחרוזת:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
השתמשו בשיטת strip()
כדי להסיר את הרווחים הריקים בתחילת ובסוף המחרוזת:
- s.strip()
הפלט הוא:
Output'Hello World From DigitalOcean \t\n\r\tHi There'
אם ברצונך להסיר רק את הרווחים בתחילת המחרוזת או בסופה, אז תוכלו להשתמש בשיטות lstrip()
ו rstrip()
.
הסרת כל הרווחים באמצעות שיטת replace()
ניתן להשתמש בשיטת replace()
כדי להסיר את כל תווי הרווח מהמחרוזת, כולל בין המילים.
הגדירו את משתנה המחרוזת:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
השתמשו בשיטת replace()
כדי להחליף את הרווחים במחרוזת ריקה:
- s.replace(" ", "")
הפלט הוא:
Output'HelloWorldFromDigitalOcean\t\n\r\tHiThere'
הסרת רווחים כפולים ותווי שורה חדשה באמצעות שיטות join()
ו split()
join()
שיטה עם הsplit()
שיטה. בדוגמה זו, שיטת split()
פורקת את המחרוזת לרשימה, באמצעות המפריד המותר ברירת המחדל של כל תו רווח. לאחר מכן, שיטת join()
מצריבה את הרשימה חזרה למחרוזת אחת עם רווח אחד (" "
) בין כל מילה.
הכריזו על משתנה מחרוזת:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
השתמשו בjoin()
וsplit()
יחד כדי להסיר רווחים ותווי שורה כפולים:
- " ".join(s.split())
הפלט הוא:
Output'Hello World From DigitalOcean Hi There'
הסרת כל הרווחים ותווי השורה באמצעות שיטת translate()
אפשר להסיר את כל הרווחים ותווי השורה באמצעות שיטת translate()
. שיטת translate()
מחליף תווים מסוימים עם תווים הוגדרים במילון או טבלת מיפוי. בדוגמה הבאה משתמשים במילון מותאם אישית עם קבוע המחרוזת string.whitespace
, המכיל את כל תווי הרווח. המילון המותאם אישית {ord(c): None for c in string.whitespace}
מחליף את כל התווים ב-string.whitespace
ב-None
.
ייבאו את מודול המחרוזת string
כדי שתוכלו להשתמש ב-string.whitespace
:
- import string
הכריזו על משתנה מחרוזת:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
השתמש בשיטת translate()
כדי להסיר את כל תווי הרווח:
- s.translate({ord(c): None for c in string.whitespace})
הפלט הוא:
Output'HelloWorldFromDigitalOceanHiThere'
הסרת תווי רווח באמצעות Regex
בנוסף, ניתן להשתמש בביטוי רגולרי כדי למצוא ולהסיר תווי רווח באמצעות פונקציית re.sub()
.
בדוגמה זו משתמשים בקובץ הבא, regexspaces.py
, כדי להראות כמה דרכים שבהן ניתן להשתמש ב-regex כדי להסיר תווי רווח:
import re
s = ' Hello World From DigitalOcean \t\n\r\tHi There '
print('Remove all spaces using regex:\n', re.sub(r"\s+", "", s), sep='') # \s מתאים לכל תווי הרווח
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='') # ^ מתאים להתחלה
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='') # $ מתאים לסיום
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | לתנאי OR
הפעל את הקובץ מהשורת פקודה:
python3 regexspaces.py
תקבל את הפלט הבא:
Remove all spaces using regex:
HelloWorldFromDigitalOceanHiThere
Remove leading spaces using regex:
Hello World From DigitalOcean
Hi There
Remove trailing spaces using regex:
Hello World From DigitalOcean
Hi There
Remove leading and trailing spaces using regex:
Hello World From DigitalOcean
Hi There
מסקנה
במדריך זה, למדת כיצד ניתן להסיר תווי רווח ממחרוזות ב-Python. המשך את למידתך על מחרוזות Python.
Source:
https://www.digitalocean.com/community/tutorials/python-remove-spaces-from-string