Skip to content
Home / Fundamentals

How to trim whitespace from a string in Python

Trimming whitespace from a string in Python is a common task that you might encounter while working with strings in your code. There are several ways to do this, and in this article, we will explore some of the most popular methods.

Method 1: Using the strip() Method

The most straightforward way to remove leading and trailing whitespace from a string is to use the strip() method. This method removes any whitespace characters from the beginning and end of the string. For example:

string = "   hello   "
string = string.strip()
print(string)  # Output: "hello"
The strip() method is not limited to just removing spaces. It can also remove other types of whitespace characters such as tabs and newlines. For example:

```python
string = "   hello\n   "
string = string.strip()
print(string)  # Output: "hello"

Method 2: Using the lstrip() and rstrip() Methods

If you only want to remove leading or trailing whitespace, you can use the lstrip() and rstrip() methods, respectively. The lstrip() method removes leading whitespace, and the rstrip() method removes trailing whitespace.

For example, to remove leading whitespace:

string = "   hello   "
string = string.lstrip()
print(string)  # Output: "hello   "

To remove trailing whitespace:

string = "   hello   "
string = string.rstrip()
print(string)  # Output: "   hello"

Like the strip() method, lstrip() and rstrip() can also remove other types of whitespace characters.

Method 3: Using the replace() Method

Another way to remove whitespace from a string is to use the replace() method. This method replaces a specified string or character with another string or character.

To remove all whitespace from a string, you can use the replace() method to replace all occurrences of whitespace with an empty string. For example:

string = "   hello   "
string = string.replace(" ", "")
print(string)  # Output: "hello"

You can also use a regular expression to remove all types of whitespace characters from a string. For example:

import re

string = "   hello\n   "
string = re.sub(r"\s", "", string)
print(string)  # Output: "hello"

Method 4: Using the join() Method

If you want to remove leading and trailing whitespace from a string, you can use the join() method in combination with a list comprehension.

First, you can split the string into a list of words using the split() method. Then, you can use a list comprehension to remove leading and trailing whitespace from each word in the list. Finally, you can use the join() method to join the list of words back into a single string.

For example:

# Split the string into a list of words
words = string.split()

# Remove leading and trailing whitespace from each word
words = [word.strip() for word in words]

# Join the list of words back into a single string
string = " ".join(words)
print(string)  # Output: "hello"

Using the join() method in this way allows you to remove leading and trailing whitespace from each word in the string, not just the overall string.