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() -> bool Return True if all characters in S are alphanumeric and 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.
Answer from user225312 on Stack OverflowThis 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() -> bool Return True if all characters in S are alphanumeric and 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)
How do I remove remove stuff like (. , ' *) from a string?
How to remove part of string after certain character in python?
There are a few ways. Here are a few off the top of my head:
>>> s = "abcd//efgh"
>>> s.find("/")
4
>>> s[:s.find("/")]
'abcd'
>>> s.split("/")
['abcd', '', 'efgh']
>>> s.split("/", maxsplit=1)
['abcd', '/efgh']
>>> s.split("/", maxsplit=1)[0]
'abcd'
>>> import re
>>> re.sub("/.*$", "", s)
'abcd'
The last is overkill here and I wouldn't use it, but regexs are often appropriate for doing search & replace operations. Either of the first two would work pretty well. The first depends on the search string appearing though. Otherwise, s.find will return -1 and then s[:-1] will lop off the last character:
>>> s = "abcdef"
>>> s[:s.find("/")]
'abcde' More on reddit.com how to remove part of a file name recursively in python?
Get rid of a weird character (\x16)?
I have a string:
"Bob 'hit' a ball, the hit BALL flew far after it was hit."
And I want to replace the word 'hit' by 'sample'.
How do I do that when the word gets immediately followed/preceded by stuff like (. , ' *)
Edit: I know using replace() will work but I don't know what special characters there will be in the string. Some strings had characters like ( - [ / + .