2016-04-27 20 views
-1

私は2つの文字列を比較する必要がありますが、マッチング中に無視したい文字列内の部分文字列を指定できる必要があります。私は無視したいところでxを使いたい。例えば、私がT ** Tを持っていれば、それはTAATまたはTabTに合ってほしいです。python string compare - 文字列内の任意の文字

str1 = 'T**T' 
str2 = 'TDDT' 
str3 = 'TXXT' 

if str2 == str1: 
    print('OK') 
if str3 == str1: 
    print('OK') 

ありがとうございます!

+2

ご質問はありますか? – Keatinge

+0

これはすでに解決済みです。誰かがそれを修正した(多分私は十分にはっきりしていなかった)。 – Federico

答えて

0

あなたはall()zip()を使用することができます。それらが等しいか一つまたはそれらの両方が*の場合であれば

def are_equal(string1, string2): 
    return all(x == y or '*' in x + y for x, y in zip(string1, string2)) 

xyで表さstring1string2の各文字については、我々は確認してください。すべての小切手がTrueの場合、返品はTrueです。それ以外の場合はFalseです。

+0

ありがとう!私はさらにすべてを見て、これをよりよく理解するためにジップします! – Federico

関連する問題