Remove whitespace from a string in Python

David Y.
jump to solution

The Problem

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.

The Solution

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!"

Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Sentry