【发布时间】:2021-10-25 10:47:19
【问题描述】:
如何用 dict 替换文本,但不替换 skip_words 列表中的文本?
my_text = "HelloWorld foobar Hello bar..."
my_dict = {
"Hello": "Hi",
"bar": "rab",
...
}
skip_words = ["HelloWorld", "foobar"]
for a, b in my_dict.items():
my_text = my_text.replace(a, b)
我想替换 Hello -> Hi 和 bar -> rab,但我不想替换 HelloWorld 和 foobar,因为它们在 skip_words 列表中。
【问题讨论】:
-
我正在评论您的其他帖子,但您删除了它...这取决于字符串的长度以及您是否希望代码通用。想象一下,您有一个包含 100 万个字符的字符串,并且要执行 100 次替换。您将需要阅读约 1 亿个字符。此外,替换的顺序可能会影响输出。如果您的替换只是单词,更好的解决方案可能是拆分并检查每个单词。在不了解所有细节的情况下,我没有完美的答案。您可以在您的条件下对多个替换进行计时,看看这是否可以接受。
标签: python