How can I remove all whitespace from a string in Python, on both ends and between words? str.strip()
only removes whitespace from the ends of the string.
We can remove all space characters from a string using str.replace()
to replace them with empty strings:
my_string = " Hello World !" my_string_no_spaces = my_string.replace(" ", "") print(my_string_no_spaces) # will print "HelloWorld!"
To remove all whitespace characters – not just regular spaces but also tabs, non-breaking spaces, hair-width spaces, etc. – we can import Python’s Regular Expressions module and use re.sub
with "\s"
, a regular expression that will match any whitespace character. For example:
import re my_string = " Hello World !" my_string_no_spaces = re.sub("\s", "", my_string) print(my_string_no_spaces) # will print "HelloWorld!"