[英]Find all upper,lower combinations of string in Python
我想在列表的每一行中搜索一個字符串,它將匹配每種可能的UP / LOW組合情況
例如:如果我鍵入“ all”,它將搜索“ all”,“ All”,“ ALL”,“ all”,“ all”……等。它的工作方式與我認為的文本文檔高級搜索類似。
更詳細的信息:如果輸入了'all'
,則出現在該行中的所有字符串都將返回FOUNDED: 'all', 'alL', 'All', 'ALL', 'aLL', 'aLl', 'AlL', 'ALl'
這是我正確查找字符串的方式
string = "all"
line[i].find(string)
如果該line
是“ ALL”,則not found
結果,因此這是一個限制。
>>> lines = ['All', 'ALL', 'all', 'WALL', 'BLAA', 'Balls']
>>> for line in lines:
... if 'all' in line.lower():
... print(line)
All
ALL
all
WALL
Balls
嘗試理解列表,
In [25]: line = ['All', 'ALL', 'all', 'WALL', 'BLAA', 'Balls']
In [26]: [i for i in line if 'all' in i.lower() ]
Out[26]: ['All', 'ALL', 'all', 'WALL', 'Balls']
有幾種方法可以實現這一目標。 他們來了:
1.更改要搜索的字符串的大小寫:
line[i].lower().find(string.lower())
要么
line[i].upper().find(string.upper())
在這里,我們濫用原始字符串的不變性,因為盡管我們對它們應用.upper()
,但是它們不會被更改,因為我們沒有進行任何賦值。
2.使用re
模塊也將有所幫助:
import re
re.search('all', line[0], re.IGNORECASE)
要么
re.search('(?i)all',line[0])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.