Python Script: Remove Special Characters from a String


A common task in programming is to remove special characters from a string. Special characters are characters that are not usually found in the English alphabet. Examples of special characters include: *, /, @, +, -, etc. In Python, there are a number of ways to remove special characters from a string.

The first way to remove special characters in python from a string is to use the replace() method. The replace() method takes two arguments. The first argument is the character you want to remove and the second argument is the character you want to replace it with. For example, if you want to remove the @ character from a string, you would use the following code:

string = "my_email@gmail.com" string = string.replace("@", "") print(string) # my_emailgmail.com
Code language: Python (python)

In the code above, we first create a string variable called string and set it equal to “my_email@gmail.com”. We then use the replace() method to replace “@” with an empty string (“”). Finally, we print out the new string which should now be “my_emailgmail.com”.

Another way to remove special characters from a string in python is to use the re module’s sub() function.

The sub() function takes three arguments. The first argument is the character you want to remove, the second argument is an empty string (“”), and the third argument is the string you want to perform the substitution on.

For example, if we wanted to remove all instances of @ from our email address using the sub() function, we would write the following code:

import re string = "my_email@gmail.com" string = re.sub("@", "", string) print(string) # my_emailgmail.com
Code language: Python (python)

In this code snippet, we first import Python’s re module which stands for regular expressions. We then create a variable called string and set it equal to our email address with the @ character included (“my_email@gmail.com”).

We then use Python’s sub() function (imported via re) which removes all instances of “@” and replaces them with an empty string (“”). Lastly, we print out our new email address without any @ symbols which should now be “my_emailgoogle.com”.

More a code snippet to remove all special characters, punctuation, and spaces from string

import re var = " This$string#has!special^characters." print(re.sub( r'[^a-zA-Z0-9_.]', '', var)) # The output should be : Thisstringhasspecialcharacters.
Code language: Python (python)

re module provides functions that allow you to search for and replace patterns in strings. You can use the sub() function to replace all the special characters in a string with an empty string.

Extra tip: If you also need to lowercase the result, you can make the regular expression even faster and easier, as long as you won’t find any uppercase now.

import re s = re.sub(r"[^a-z0-9]","",s.lower())
Code language: JavaScript (javascript)

In Python, there are multiple ways that you can remove special characters from strings. The most common way is to use either the replace() method or Python’s sub() function from the re module (short for regular expressions). These methods take care of most common special characters but if you encounter any other special characters that need to be removed, feel free to leave a comment below and I’ll add instructions on how to remove them as well!

Andy Avery

I really enjoy helping people with their tech problems to make life easier, ​and that’s what I’ve been doing professionally for the past decade.

Recent Posts