Як замінити всі повторювані слова, крім першого у рядку? Саме ці струни
s="cat WORD dog WORD mouse WORD"
s1="cat1 WORD dog1 WORD"
буде замінено на
s="cat WORD dog REPLACED mouse REPLACED"
s1="cat1 WORD dog1 REPLACED"
Я не можу замінити рядок назад тому що я не знаю, скільки часу відбувається на кожному рядку.
temp=s.replace("WORD","XXX",1)
temp1=temp.replace("WORD","REPLACED")
ss=temp1.replace("XXX","WORD")
Але я хочу більш пітонний метод. У вас є якісь ідеї?
Відповіді:
6 за відповідь № 1Використовуйте a string.count
разом з rreplace
>>> def rreplace(s, old, new, occurrence):
... li = s.rsplit(old, occurrence)
... return new.join(li)
...
>>> a
"cat word dog word mouse word"
>>> rreplace(a, "word", "xxx", a.count("word") - 1)
"cat word dog xxx mouse xxx"