Pythonで大文字と小文字を区別しない文字列比較を探しています。私が試した:
if line.find('mandy') >= 0:
ただし、大文字と小文字を区別しない場合は成功しません。特定のテキストファイルで単語のセットを見つける必要があります。ファイルを1行ずつ読んでいます。行の単語は、mandy、Mandy、[〜#〜] mandy [〜#〜]など(toupper
/tolower
を使用したくない、等。)。
以下のPerlコードに相当するPythonを探しています。
if($line=~/^Mandy Pande:/i)
str.lower()
を使用したくない場合は、regexpを使用できます。
import re
if re.search('mandy', 'Mandy Pande', re.IGNORECASE):
# is True
別の投稿 here があります。これを見てみてください。
ところで、あなたは.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):
...
this を参照してください。
In [14]: re.match("mandy", "MaNdY", re.IGNORECASE)
Out[14]: <_sre.SRE_Match object at 0x23a08b8>
試してください:
if haystackstr.lower().find(needlestr.lower()) != -1:
# True