How do I trim whitespace?
For whitespace on both sides, use str.strip
:
s = " \t a string example\t "
s = s.strip()
For whitespace on the right side, use str.rstrip
:
s = s.rstrip()
For whitespace on the left side, use str.lstrip
:
s = s.lstrip()
You can provide an argument to strip arbitrary characters to any of these functions, like this:
s = s.strip(' \t\n\r')
This will strip any space, \t
, \n
, or \r
characters from both sides of the string.
The examples above only remove strings from the left-hand and right-hand sides of strings. If you want to also remove characters from the middle of a string, try re.sub
:
import re
print(re.sub('[\s+]', '', s))
That should print out:
astringexample
You can also use very simple, and basic function: str.replace(), works with the whitespaces and tabs:
>>> whitespaces = " abcd ef gh ijkl "
>>> tabs = " abcde fgh ijkl"
>>> print whitespaces.replace(" ", "")
abcdefghijkl
>>> print tabs.replace(" ", "")
abcdefghijkl
Simple and easy.
In Python trim methods are named strip
:
str.strip() # trim
str.lstrip() # left trim
str.rstrip() # right trim
For leading and trailing whitespace:
s = ' foo \t '
print s.strip() # prints "foo"
Otherwise, a regular expression works:
import re
pat = re.compile(r'\s+')
s = ' \t foo \t bar \t '
print pat.sub('', s) # prints "foobar"