Remove all special characters, punctuation and spaces from string Remove all special characters, punctuation and spaces from string python python

Remove all special characters, punctuation and spaces from string


This can be done without regex:

>>> string = "Special $#! characters   spaces 888323">>> ''.join(e for e in string if e.isalnum())'Specialcharactersspaces888323'

You can use str.isalnum:

S.isalnum() -> boolReturn True if all characters in S are alphanumericand there is at least one character in S, False otherwise.

If you insist on using regex, other solutions will do fine. However note that if it can be done without using a regular expression, that's the best way to go about it.


Here is a regex to match a string of characters that are not a letters or numbers:

[^A-Za-z0-9]+

Here is the Python command to do a regex substitution:

re.sub('[^A-Za-z0-9]+', '', mystring)


Shorter way :

import recleanString = re.sub('\W+','', string )

If you want spaces between words and numbers substitute '' with ' '