Ответ 1
Если вы не хотите использовать str.lower()
, вы можете использовать регулярное выражение:
import re
if re.search('mandy', 'Mandy Pande', re.IGNORECASE):
# Is True
Я ищу игнорирование сравнения строк в Python.
Я пробовал с:
if line.find('mandy') >= 0:
но безуспешно для игнорирования дела. Мне нужно найти набор слов в данном текстовом файле. Я читаю файл построчно. Слово в строке может быть mandy, Mandy, MANDY и т.д. (Я не хочу использовать toupper
/tolower
и т.д.).
Я ищу Python-эквивалент кода Perl ниже.
if ($line=~/^Mandy Pande:/i)
Если вы не хотите использовать str.lower()
, вы можете использовать регулярное выражение:
import re
if re.search('mandy', 'Mandy Pande', re.IGNORECASE):
# Is True
Там еще один пост здесь. Попробуйте посмотреть на это.
Кстати, вы ищете метод .lower()
:
string1 = "hi"
string2 = "HI"
if string1.lower() == string2.lower():
print "Equals!"
else:
print "Different!"
a = "MandY"
alow = a.lower()
if "mandy" in alow:
print "true"
работать
import re
if re.search('(?i)Mandy Pande:', line):
...
Смотрите это.
In [14]: re.match("mandy", "MaNdY", re.IGNORECASE)
Out[14]: <_sre.SRE_Match object at 0x23a08b8>
Try:
if haystackstr.lower().find(needlestr.lower()) != -1:
# True