2013-12-22 47 views
3

如果字符串相同,而不考慮重音,我想比較2個字符串並且有True比較2個字符串而不考慮Python中的重音

實施例:我想下列條件爲真:

if 'séquoia' in 'Mon sequoia est vert': 
    print 'Bonjour' 

是真實的。

+1

轉換爲完全分解正常形式,刪除口音,比較。 – tripleee

回答

4

你應該看看Unidecode。與模塊和這種方法,你可以得到一個字符串沒有口音,然後讓你的comparaison:

def remove_accents(data): 
    return ''.join(x for x in unicodedata.normalize('NFKD', data) if x in string.ascii_letters).lower() 


if remove_accents('séquoia') in 'Mon sequoia est vert': 
    # Do something 
    pass 

Reference from stackoverflow

+0

由於'remove_accents'方法使所有字符都爲小寫,因此如果單詞是「séQuoIa」,則這將不起作用。 –

4

,您應該使用unidecode功能從Unidecode包:

from unidecode import unidecode 

if unidecode(u'séquoia') in 'Mon sequoia est vert': 
    print 'Bonjour'