0 votes
1 view
in Python by (47.8k points)

I would like to use the .replace function to replace multiple strings.

I currently have

string.replace("condition1", "")

but would like to have something like

string.replace("condition1", "").replace("condition2", "text")

although that does not feel like good syntax

what is the proper way to do this? kind of like how in grep/regex you can do \1 and \2 to replace fields to certain search strings

1 Answer

0 votes
by (107k points)

To replace multiple substrings of a string here is a short example that should do the trick with regular expressions:

import re 

rep = {"condition1": "", "condition2": "text"}

rep = dict((re.escape(k), v) for k, v in rep.iteritems())

pattern = re.compile("|".join(rep.keys())) 

text = pattern.sub(lambda m: rep[re.escape(m.group(0))], text)

Related questions

+1 vote
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
Welcome to Intellipaat Community. Get your technical queries answered by top developers !