In this tutorial, I will explain how to remove characters from a string in Python. As a developer working on a project, I recently faced an issue where I needed to remove specific characters from user input. After researching and experimenting with different methods, I discovered several effective techniques to accomplish this task. In this article, I will share my findings and provide detailed examples.
Remove Characters from a String in Python
Let’s say you are building a web application that requires users to enter their names. However, some users might accidentally include unwanted characters, such as hyphens or underscores. To ensure data consistency and improve user experience, you need to remove these characters from the input string.
For example, consider the following user inputs:
- “John_Doe”
- “Jane-Smith”
- “Michael-Johnson_”
Our goal is to remove the underscore (_) and hyphen (-) characters from these strings.
Read How to Convert an Object to a String in Python?
Method 1: Use the replace() Method
One of the simplest ways to remove characters from a string in Python is by using the built-in replace() method. The replace() method allows you to replace all occurrences of a specified character with another character or an empty string.
Here’s an example:
name = "John_Doe"
new_name = name.replace("_", "")
print(new_name) Output:
JohnDoeI have executed the above example code and added the screenshot below.

In this code snippet, we use the replace() method to replace all occurrences of the underscore character with an empty string, effectively removing it from the string.
You can also remove multiple characters by chaining multiple replace() calls:
name = "Jane-Smith_"
new_name = name.replace("-", "").replace("_", "")
print(new_name) Output:
JaneSmithI have executed the above example code and added the screenshot below.

Check out How to Format Decimal Places in Python Using f-Strings?
Method 2: Use the translate() Method
Another useful method in Python for removing characters from a string is the translate() method. This method uses a translation table to map characters to their replacements.
Here’s an example:
name = "Michael-Johnson_"
translation_table = str.maketrans("", "", "-_")
new_name = name.translate(translation_table)
print(new_name) Output:
MichaelJohnsonI have executed the above example code and added the screenshot below.

In this code, we create a translation table using the str.maketrans() function. We pass three arguments: the first two are empty strings (since we don’t need to replace characters), and the third argument specifies the characters to be removed (“-_”).
Read How to Extract Numbers from a String in Python?
Method 3: Use Regular Expressions
For more complex character removal scenarios, you can use regular expressions in Python. The re-module provides useful tools for pattern matching and string manipulation.
Here’s an example:
import re
name = "Emily_Clark-123"
new_name = re.sub(r"[-_\d]", "", name)
print(new_name) # Output: "EmilyClark"In this code, we use the re.sub() function to remove characters based on a regular expression pattern. The pattern r”[-_\d]” matches hyphens, underscores, and digits. By replacing matches with an empty string, we effectively remove those characters from the string.
Check out How to Split a Long String into Multiple Lines in Python?
Conclusion
In this tutorial, I explained how to remove characters from a string in Python. I discussed some methods like using the replace() method, the translate() method, and regular expressions. Each method has its use case and level of complexity.
You may also like to read:
- How to Pad a String with Zeros in Python?
- How to Find the Last Occurrence of a Substring in a String Using Python?
- How to Iterate Through a String in Python?

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.