在python中,如何使此代码不区分大小写
此代码删除包含特定单词(坏单词)的行 这个问题是区分大小写的 例如:它将删除“打印枕头”,但不会删除“打印枕头”或“打印枕头” 任何简单的修复(不区分大小写) 问候在python中,如何使此代码不区分大小写,python,Python,此代码删除包含特定单词(坏单词)的行 这个问题是区分大小写的 例如:它将删除“打印枕头”,但不会删除“打印枕头”或“打印枕头” 任何简单的修复(不区分大小写) 问候 bad_words = ['printed pillow', 'decalac', 'pandora'] with open('oldfile.csv') as oldfile, open('newfile.csv', 'w') as newfile: for line in oldfile: if not
bad_words = ['printed pillow', 'decalac', 'pandora']
with open('oldfile.csv') as oldfile, open('newfile.csv', 'w') as newfile:
for line in oldfile:
if not any(bad_word in line for bad_word in bad_words):
newfile.write(line)
把它改成小写,然后检查你的脏话
bad_words = ['printed pillow', 'decalac', 'pandora']
with open('oldfile.csv') as oldfile, open('newfile.csv', 'w') as newfile:
for line in oldfile:
if not any(bad_word in line.lower() for bad_word in bad_words):
newfile.write(line)
使用
上部
:
if not any(bad_word.upper() in line.upper() for bad_word in bad_words):
如果其中一个为小写,则使用两次
upper
如果列表中的单词都是小写的,为什么要同时使用大写字母呢?这样做的目的是,如果其中任何一个都有小写/大写字母,那么它们之间就无法区分了。因此,现在无论您或用户输入什么,它都会匹配。通常,使用casefold
而不是upper
或lower
进行不区分大小写的比较更安全casefold
可以更好地处理类似和其他奇怪的案例区分。