不能取代所有事件

时间:2018-12-11 15:45:46

标签: regex python-3.x

我尝试用正则表达式替换此字符串中的三个单词。但是我只能得到最后的替代品,而不是全部三个。

import re
input_txt='The quick brown fox jumps over the lazy dog.'
dic={'The':'THE', 'fox':'FOX', 'dog':'DOG'}
for i,j in dic.items():
   output2=re.sub(i,j,input_txt)
print(output2)

output2值:

  

敏捷的棕色狐狸跳过了懒惰的狗。

2 个答案:

答案 0 :(得分:3)

您每次都将替换项写入原始input_txt中的新字符串。相反,只需覆盖input_txt

input_txt='The quick brown fox jumps over the lazy dog.'
dic={'The':'THE', 'fox':'FOX', 'dog':'DOG'}
for i,j in dic.items():
   input_txt=re.sub(i,j,input_txt)

>>> print(input_txt)
THE quick brown FOX jumps over the lazy DOG.

答案 1 :(得分:0)

您只需要更改input_txt的output2,将其覆盖即可代替创建新变量。