[英]Case insensitive string replacement in Python
为了进行多个不区分大小写的字符串替换,我使用了正则表达式模式,例如
import re
text = "Mentioning of reD, GrEen and BLUE is prohibited"
new_text = re.sub(r'(red|green|blue)', "***", text, flags=re.IGNORECASE)
print(new_text)
从列表中制作模式的最佳方法是什么(而不是手动输入)?
words_to_replace = ["red", "green", "blue"]
提前感谢您的回复!
您可以加入 pipe 角色
"|".join(["red", "green", "blue"])
如果单词本身有|
这可能会失败或其他可能会破坏模式的元字符。 正则表达式注入攻击......创造一个短语。
import re
text = "Mentioning of reD, GrEen and BLUE is prohibited"
words_to_replace = ["red", "green", "blue"]
new_text = re.sub(f'({"|".join(words_to_replace)})', "***", text, flags=re.IGNORECASE)
print(new_text)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.