Πώς μπορώ να αφαιρέσω το πρώτο και το τελευταίο κενό διάστημα από μια συμβολοσειρά στην Python;
Για παράδειγμα:
" Hello " --> "Hello"
" Hello" --> "Hello"
"Hello " --> "Hello"
"Bob has a cat" --> "Bob has a cat"
Μόνο ένα κενό ή όλα τα διαδοχικά κενά; Αν το δεύτερο, τότε οι συμβολοσειρές έχουν ήδη μια μέθοδο .strip()
:
>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> ' Hello '.strip() # ALL consecutive spaces at both ends removed
'Hello'
Αν όμως θέλετε να αφαιρέσετε μόνο ένα κενό, μπορείτε να το κάνετε με:
def strip_one_space(s):
if s.endswith(" "): s = s[:-1]
if s.startswith(" "): s = s[1:]
return s
>>> strip_one_space(" Hello ")
' Hello'
Επίσης, σημειώστε ότι η str.strip()
αφαιρεί και άλλους χαρακτήρες λευκού χώρου (π.χ. tabs και newlines). Για να αφαιρέσετε μόνο κενά, μπορείτε να καθορίσετε τον χαρακτήρα που θέλετε να αφαιρέσετε ως όρισμα στην strip
, δηλ:
>>> " Hello\n".strip(" ")
'Hello\n'
Αυτό θα αφαιρέσει όλα τα αρχικά και τα τελευταία λευκά κενά στην myString
:
myString.strip()