Just one space or all consecutive spaces? If the second, then strings already have a .strip() method:
>>> ‘ 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’
If you only need to remove one space however, you could do it with:
def strip_one_space(s):
if s.endswith(” “): s = s[:-1]
if s.startswith(” “): s = s[1:]
return s
>>> strip_one_space(” Hello “)
‘ Hello’
Also, note that str.strip() removes other whitespace characters as well (e.g. tabs and newlines). To remove only spaces, you can specify the character to remove as an argument to strip, i.e.:
>>> ” Hellon”.strip(” “)
‘Hellon’
As pointed out in answers above
my_string.strip()
will remove all the leading and trailing whitespace characters such as n, r, t, f, space .
For more flexibility use the following
Removes only leading whitespace chars: my_string.lstrip()
Removes only trailing whitespace chars: my_string.rstrip()
Removes specific whitespace chars: my_string.strip(‘n’) or my_string.lstrip(‘nr’) or my_string.rstrip(‘nt’) and so on.
More details are available in the docs.