How to replace all the repeated words except the first one in the string? That is these strings
s='cat WORD dog WORD mouse WORD'
s1='cat1 WORD dog1 WORD'
will be replaced to
s='cat WORD dog REPLACED mouse REPLACED'
s1='cat1 WORD dog1 REPLACED'
I can't replace the string backward because I don't know how many time the word occurs on each line. I do figure out a circuitous way:
temp=s.replace('WORD','XXX',1)
temp1=temp.replace('WORD','REPLACED')
ss=temp1.replace('XXX','WORD')
But I want a more pythonic method. Do you have any idea?
word
is actually a set of words, and I use a dictionary to replace them, e.g.for i,j in dic.items(): line = rreplace(line,i,j,line.count(i)-1)
. This doesn't work – Dichromate