我有一个代码,用于读取文件并将内容与用户输入进行比较,忽略区分大小写。
我使用list-comprehension来遍历内容并与用户输入进行比较。
问题是列表推导返回一个空列表,尽管输入的单词存在。例如:
Les hiboux Charl es Baudelaire
周期3 *
POESIE
Sous les ifs noirs qui les abritent Les hiboux se tiennentrangés Ainsi que desdieuxétrangers Dardantleurœilrouge。 Ilsméditent。
Sans remuer ils se tiendront Jusqu'àl'heuremélancolique Où,poussant le soleil oblique, Lesténèbress'établiront。
Leur态度au sage enseigne Qu'il faut en ce monde qu'il craigne Le tumulte et le mouvement;
L'homme ivre d'une ombre qui passe Porte toujourslechâtiment D'avoir voulu changer de place。
Les Fleurs du Mal 1857年
Charl es Pierre Baudelaire(1821 - 1867)estunpoètefrançais。
用户输入:charl
字存在:Charles - charle - CHARLE
x=self.lineEditSearch.text()
print(x)
textString=self.ReadingFileContent(Item)
#self.varStr =[c for c in textString if c.islower() or c.isupper() or c.capitalize()]
self.varStr =[i for i in textString if i.lower() == x.lower()]
print(self.varStr)
答案 0 :(得分:0)
如果
user_input = "charl"
word_exist = ["Charles","charle","CHARLE","Hello"]
然后
output = [item for item in word_exist if user_input.lower() in item.lower()]
print(output)
# ['Charles', 'charle', 'CHARLE']
这是你在找什么?
答案 1 :(得分:0)
您的问题是,您只需要self.varStr
满足textString
的{{1}}成员,这意味着i.lower() == x.lower()
与{{1}完全相同(不区分大小写) }}&#34 ;.
您想要选择包含 x
的成员。
您可以将x
更改为i.lower() == x.lower()