Articles

How to Remove Characters from a String in Python

Learn how to remove characters from a Python string using `rstrip()`, `replace()`, and `re.sub()` with examples.

Introduction to string manipulation in Python

String manipulation is one of the most essential skills we use as Python developers. Whether we’re cleaning up user input, parsing logs, or processing text data, knowing how to manipulate strings efficiently can significantly streamline our workflow.

One common task is removing characters from a string in Python. From deleting unwanted symbols and whitespace to filtering out specific characters like digits or punctuation, string cleansing is vital in many real-world applications such as data cleaning, input validation, and text processing.

In this guide, we’ll explore multiple ways to remove characters from a string in Python with examples that will help us choose the most suitable approach based on the scenario.

Let’s start by discussing the different methods for removing the last character from a string In Python.

Related Course

Learn C#: References

Unlock the power of references, an essential aspect of object-oriented programming in C#. Try it for free

How to remove the last character from a Python string

Sometimes we need to remove the last character from a string in Python, especially when dealing with trailing commas, newline characters, or formatting issues. Here are two common methods for performing this operation:

  • String slicing
  • rstrip()

Let’s go through these methods one by one.

Remove last character using string slicing

String slicing is a useful feature in Python that enables us to extract a portion of a string using index positions. We can use this feature to remove the last character from a string.

Here is an example:

# Create a string
text = "Python!"
# Remove the last character from the string
new_text = text[:-1]
# Print the result
print(new_text)

In this example, text[:-1] creates a substring from the beginning of the string up to but not including the last character.

The output will be:

Python

Remove the last character using rstrip() method

The rstrip() method helps remove trailing characters from a string.

Here is an example:

# Create a string
text = "Hello World!"
# Remove the last character from the string
new_text = text.rstrip("!")
# Print the result
print(new_text)

In this example, rstrip("!") removes the exclamation mark from the end of the string.

The output will be:

Hello World

We now have a fair idea of the different methods for removing the last character from a Python string, but what if we want to remove a particular character from a string? Let’s check that out next.

How to remove a specific character from a Python string

In many real-world scenarios, we often need to remove a particular character from a string in Python. This could be a punctuation mark, a special symbol, or even a letter that appears multiple times. Python provides multiple methods to handle this task efficiently:

  • replace()
  • re.sub()
  • String slicing

Let’s have a look at these methods one by one.

Remove a specific character using replace() method

The replace() method in Python enables us to replace a specified substring with another substring within a string. We can use this to remove a specific character from a string.

Here is an example:

# Create a string
text = "Hello, World!"
# Remove “!” from the string
new_text = text.replace("!", "")
# Print the result
print(new_text)

In this example, “!” is replaced with an empty string (“”) using replace(), effectively removing it from the string.

The output will be:

Hello, World

Remove a specific character using re.sub() method

The re.sub() function in Python’s re (Regular Expressions or RegEx) module is used for replacing occurrences of a pattern in a string. Here’s an example demonstrating how we can use it to remove a specific character from a string:

import re
# Create a string
text = "Hello, World!"
# Remove “!” from the string
new_text = re.sub(r'!', '', text)
# Print the result
print(new_text)

In this example, re.sub(r'!', '', text) searches for “!” in the text string and replaces it with an empty string.

The output will be:

Hello, World

Remove a specific character using string slicing

We can also use string slicing to remove a specific character from a string:

# Create a string
text = "Python"
# Remove “t” from the string
new_text = text[:2] + text[3:]
# Print the result
print(new_text)

In this example:

  • text[:2] gives us the part before index 2 (which contains the element “t”).
  • text[3:] gives us the part after index 2.
  • text[:2] + text[3:] combines the two parts to create a new string without “t”.

The output will be:

Pyhon

Now, let’s explore the different methods for removing multiple characters from a Python string.

How to remove multiple characters from a Python string

In Python, it’s common to encounter strings that contain unwanted characters—special symbols, punctuation, or even numbers—that we need to remove before further processing. Fortunately, Python offers several simple yet powerful ways to remove multiple characters from a string:

  • replace()
  • re.sub()
  • String slicing

Let’s take a look at them one by one.

Remove multiple characters using replace() method

The replace() method can be used multiple times in sequence to remove more than one character.

Here is an example showcasing this method:

# Create a string
text = "Hello, World! #2025"
# Remove multiple characters from the string
new_text = text.replace(",", "").replace("!", "").replace("#", "")
# Print the result
print(new_text)

In this example:

  • We chained multiple replace() calls to remove each unwanted character one by one.
  • Each call returns a new string with the specified character removed.

The output will be:

Hello World 2025

Remove multiple characters using re.sub() method

If we need to remove multiple different characters at once, especially from a large dataset, Python’s re module provides a powerful and scalable solution in the form of re.sub. Here is an example for it:

import re
# Create a string
text = "Clean up: this! string, now."
# Remove multiple characters from the string
new_text = re.sub(r"[,:!]", "", text)
# Print the result
print(new_text)

In this example:

  • The pattern [,:!] is a character class that matches any comma, colon, or exclamation mark.
  • re.sub() replaces all occurrences of those characters with an empty string.

The output will be:

Clean up this string now.

Remove multiple characters using string slicing

We can use string slicing as well to remove specific characters from a Python string. Here’s how:

# Create a string
text = "abc#123#xyz"
# Remove multiple characters from the string
new_text = text[:3] + text[4:7] + text[8:]
# Print the result
print(new_text)

In this example:

  • text[:3]: This grabs characters from start to index 2, i.e., “abc”.
  • text[4:7]: This grabs characters from index 4 to 6 (excludes index 7), i.e., “123”.
  • text[8:]: This grabs characters from index 8 to the end, i.e., “xyz”.
  • text[:3] + text[4:7] + text[8:]: Combines the extracted parts to form a new string with the target characters removed.

The output will be:

abc123xyz

In the next section, we’ll compare all the methods that we’ve used so far to see how they differ in their functionalities.

rstrip() vs. replace() vs. re.sub() vs. string slicing

Here is the comparison between rstrip(), replace(), re.sub(), and string slicing:

Method Description Use case example Regex support Modifies original?
rstrip() Removes trailing characters Strip trailing newlines or spaces No No
replace() Replaces all instances of a substring with another Replace fixed text No No
re.sub() Performs regex-based substitution Pattern-based replacements Yes No
String Slicing Extracts part of a string using index notation Remove characters by position No No

Conclusion

Removing characters from a string in Python is a common task, and Python offers several powerful tools to achieve it. Whether we’re slicing off the last character, deleting specific symbols, or using regex to clean up text, there’s a method suited for every scenario. By mastering these techniques, we can write cleaner, more efficient code that handles real-world data gracefully.

If you want to learn more about string manipulation in Python, check out the Learn Python 3 course on Codecademy.

Frequently asked questions

1. What’s the best way to delete char in string Python?

Strings are immutable in Python, so you can’t delete characters in-place. The best way is to use slicing or replace() to create a new string without the unwanted character.

2. Does Python modify the original string when removing characters?

No. Python strings are immutable. All methods like replace(), re.sub() and more return a new string.

3. How do I remove only digits from a Python string?

We can use re.sub() to remove only digits from a Python string:

import re
# Create a string
text = "User123Data456"
# Remove only digits from the string
clean_text = re.sub(r'\d', '', text)
# Print the result
print(clean_text)

In this example:

  • \d is a pattern that matches any digit (0–9).
  • re.sub() replaces each digit with an empty string, effectively deleting them.

Here is the output:

UserData

4. How to remove multiple characters from a string in Python?

To remove multiple specific characters from a string, use translate() with maketrans():

# Create a string
text = "Hello, World!"
# Store the characters to remove in a variable
remove_chars = ",!"
# Remove the characters from the string
result = text.translate(str.maketrans('', '', remove_chars))
# Print the result
print(result)

Here is the output:

Hello World
Codecademy Team

'The Codecademy Team, composed of experienced educators and tech experts, is dedicated to making tech skills accessible to all. We empower learners worldwide with expert-reviewed content that develops and enhances the technical skills needed to advance and succeed in their careers.'

Meet the full team