What is the fastest and simplest way to remove "" from a string


when im parsing a lot of data with python and it can happen that some parts of the data contains strings/chars with , this can lead to problems when working with the data so my goal is minimize errors by removing all kinds of special characters from the data

for example it could be a string like this

teststring = "\ds9205343htest" 
teststring2 = "\ds9205343hSOM-User"

I thought maybe strip () could easily solve that but it seems with strip i only remove


but not

teststring.strip("\") # ofc strip("") wont work 

print (teststring) would than print "ds9205343h est"
print (teststring2) would print "ds9205343hSOM-User"

The wanted Output for teststring is ds9205343htest and for teststring2 it is ds9205343hSOM-User

I think i can do it with regex but that does not seem very pythonic and efficient to me, any ideas how to solve this in a pythonic way ?

the User @Timeless has provided following solution in the comments:

f"{teststring!r}".replace("\", "").strip("'")

I tested it on my dataset and it worked

Asked By: SemperVirens



You just need to use str.replace() but you need to understand how you would construct a string to contain backslashes.

Consider this example:

teststring_1 = r"\ds9205343htest"
teststring_2 = "\ds9205343htest"

for s in teststring_1, teststring_2:
    print(s.replace("\", ""))

Note that test string_1 is a raw string. It will contain 3 backslashes.

teststring_2 is a regular string and so each single backslash is potentially an escape character. This string will contain 1 backslash because the t sequence is interpreted as a tab character whereas \ is the means by which a string can include a backslash.

Now consider the output of this code:


ds9205343h     est
ds9205343h      est
Answered By: CtrlZ
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.