How to Trim Strings in Python?

Ayushi Trivedi Last Updated : 03 Jun, 2024
4 min read

Introduction

The fundamentals of trimming strings in Python with the three potent functions .strip(), .lstrip(), and .rstrip() are covered in this article. With these techniques, you can quickly and effectively eliminate specified characters and whitespace from the start and finish of strings. Whether you’re cleaning up your strings by deleting unnecessary spaces or removing characters from the boundaries of phrases, we’ll go over each technique in detail and offer real-world examples. With these flexible Python tools, get ready to improve your string manipulation abilities!

How to Trim a String in Python?

How to Trim a String in Python?

Trimming a string is essential for data cleaning and preprocessing. Python offers three primary methods to trim strings:

  • strip(): eliminates every character from the string’s ends.
  • lstrip(): eliminates characters starting on the left side of the string.
  • rstrip(): eliminates characters from the string’s right (end).

These techniques can be applied to any defined collection of characters or to the standard whitespace characters.

Using .strip() Function

To eliminate certain characters or any leading or following whitespace—such as spaces at the beginning or end of a string—from a string, utilize Python’s built-in strip() function. The supplied characters are eliminated from both ends of the new string that is returned by this procedure. It removes whitespace by default if no characters are given.

Basic Syntax

str.strip([chars])
  • str: The string you want to trim.
  • [chars]: Optional. A string specifying the set of characters to be removed. If omitted, whitespace is removed.

Example 1: Removing Leading and Trailing Whitespace

Strip() eliminates all leading and trailing whitespace from the string when no parameters are supplied.

message = "   Hello, World!   "
cleaned_message = message.strip()

print(f"Original: '{message}'")
print(f"Cleaned: '{cleaned_message}'")

Output:

Original: '   Hello, World!   '
Cleaned: 'Hello, World!'

Example 2: Removing Specific Leading and Trailing Characters

You can specify characters to be removed from the beginning and end of the string. The order of characters in the argument does not matter, as strip() removes all occurrences of the specified characters from both ends.

filename = "+++example_file_name+++"
cleaned_filename = filename.strip("+")

print(f"Original: '{filename}'")
print(f"Cleaned: '{cleaned_filename}'")

Output:

Original: '+++example_file_name+++'
Cleaned: 'example_file_name'

Example 3: Removing Multiple Different Characters

To eliminate every instance of a character from the string on both ends, you can supply multiple characters to the strip() function.

text = "##!!?Python Programming?!!##"
cleaned_text = text.strip("#!?")

print(f"Original: '{text}'")
print(f"Cleaned: '{cleaned_text}'")

Output:

Original: ‘##!!?Python Programming?!!##’
Cleaned: ‘Python Programming’

Example 4: Handling Characters in the Middle

The strip() method does not remove characters from the middle of the string, only from the start and end.

data = "---Data-Science---"
cleaned_data = data.strip("-")

print(f"Original: '{data}'")
print(f"Cleaned: '{cleaned_data}'")

Output:

Original: '---Data-Science---'
Cleaned: 'Data-Science'

Using .lstrip() Function

Python’s built-in lstrip() method can be used to remove specific characters or leading (starting) whitespace from a string. With the provided characters solely deleted from the beginning of the string, this method returns a new string. It removes whitespace by default if no characters are given.

Basic Syntax

str.lstrip([chars])
  • str: The string you want to trim.
  • [chars]: Optional. A string specifying the set of characters to be removed from the beginning of the string. If omitted, whitespace is removed.

Example 1: Removing Leading Whitespace

When no arguments are passed to lstrip(), it removes all leading whitespace from the string.

message = "   Hello, World!   "
cleaned_message = message.lstrip()

print(f"Original: '{message}'")
print(f"Cleaned: '{cleaned_message}'")

Output:

Original: '   Hello, World!   '
Cleaned: 'Hello, World!   '

Example 2: Removing Specific Leading Characters

Characters that should be eliminated from the string’s start can be specified. Since lstrip() eliminates all instances of the supplied characters from the beginning, the argument’s character order is irrelevant.

filename = "///example_file_name///"
cleaned_filename = filename.lstrip("/")

print(f"Original: '{filename}'")
print(f"Cleaned: '{cleaned_filename}'")

Output:

Original: '///example_file_name///'
Cleaned: 'example_file_name///'

Example 3: Removing Multiple Different Leading Characters

You can pass multiple characters to lstrip() to remove all occurrences of these characters from the beginning of the string.

text = "##!!?Python Programming?!!##"
cleaned_text = text.lstrip("#!?")

print(f"Original: '{text}'")
print(f"Cleaned: '{cleaned_text}'")

Output:

Original: '##!!?Python Programming?!!##'
Cleaned: 'Python Programming?!!##'

Example 4: Handling Characters in the Middle

The lstrip() method does not remove characters from the middle or the end of the string, only from the start.

data = "---Data-Science---"
cleaned_data = data.lstrip("-")

print(f"Original: '{data}'")
print(f"Cleaned: '{cleaned_data}'")

Output:

Original: '---Data-Science---'
Cleaned: 'Data-Science---'

Using .rstrip() Function

A built-in Python string method called rstrip() can be used to eliminate specified characters or trailing whitespace from a string. With the supplied characters solely deleted from the end of the string, this method returns a new string. It removes whitespace by default if no characters are given.

Basic Syntax

str.rstrip([chars])
  • str: The string you want to trim.
  • [chars]: Optional. A string specifying the set of characters to be removed from the end of the string. If omitted, whitespace is removed.

Example 1: Removing Trailing Whitespace

When no arguments are passed to rstrip(), it removes all trailing whitespace from the string.

message = "   Hello, World!   "
cleaned_message = message.rstrip()

print(f"Original: '{message}'")
print(f"Cleaned: '{cleaned_message}'")

Output:

Original: '   Hello, World!   '
Cleaned: '   Hello, World!'

Example 2: Removing Specific Trailing Characters

You can specify characters to be removed from the end of the string. The order of characters in the argument does not matter, as rstrip() removes all occurrences of the specified characters from the end.

filename = "example_file_name///"
cleaned_filename = filename.rstrip("/")

print(f"Original: '{filename}'")
print(f"Cleaned: '{cleaned_filename}'")

Output:

``Original: 'example_file_name///'
Cleaned: 'example_file_name'

#### Example 3: Removing Multiple Different Trailing Characters
You can pass multiple characters to `rstrip()` to remove all occurrences of these characters from the end of the string.

```python
text = "##!!?Python Programming?!!##"
cleaned_text = text.rstrip("#!?")

print(f"Original: '{text}'")
print(f"Cleaned: '{cleaned_text}'")

Output:

Original: '##!!?Python Programming?!!##'
Cleaned: '##!!?Python Programming'

Example 4: Handling Characters in the Middle

The rstrip() method does not remove characters from the middle or the beginning of the string, only from the end.

data = "---Data-Science---"
cleaned_data = data.rstrip("-")

print(f"Original: '{data}'")
print(f"Cleaned: '{cleaned_data}'")

Output:

Original: '---Data-Science---'
Cleaned: '---Data-Science'

Conclusion

You can successfully alter strings by learning how to use Python’s strip(), lstrip(), and rstrip() functions. These techniques improve data cleaning and preprocessing jobs by simplifying the removal of specified characters and undesired whitespace from strings. Your Python code will be more reliable and effective if you comprehend and use these techniques to make sure your strings are accurate and well-formatted. These flexible approaches are essential for keeping clean and correct string data, regardless of whether you’re working with file names, user input, or any other type of string data.

You can also enroll in our free Python course today!

My name is Ayushi Trivedi. I am a B. Tech graduate. I have 3 years of experience working as an educator and content editor. I have worked with various python libraries, like numpy, pandas, seaborn, matplotlib, scikit, imblearn, linear regression and many more. I am also an author. My first book named #turning25 has been published and is available on amazon and flipkart. Here, I am technical content editor at Analytics Vidhya. I feel proud and happy to be AVian. I have a great team to work with. I love building the bridge between the technology and the learner.

Responses From Readers

Clear

We use cookies essential for this site to function well. Please click to help us improve its usefulness with additional cookies. Learn about our use of cookies in our Privacy Policy & Cookies Policy.

Show details