Soundex Algorithmus, um Python zu erreichen

Soundex ist ein Phonetic Algorithmus berechnet die Annäherung der englischen Wortaussprache verwenden, besteht der Wert von vier Zeichen, das erste Zeichen des englischen Alphabets, Zahlen der drei. In alphabetischer Schrift, aber manchmal kann es nicht richtig , das Wort Umstände gelesen werden buchstabieren kann Soundex ähnliche Fuzzy Matching Ergebnisse tun. Z. B. Knuth und Kant zwei Saiten, deren Werte sind Soundex „K530“. Sein Computer - Guru Donald Knuth berühmtes Buch "Art of Computer Programming" wird im Detail beschrieben. (Zitiert in Wikipedia chinesische Version )
Ich bin hier , um den Algorithmus mit einer relativ einfachen Art und Weise zu implementieren, ohne ein gutes Niveau zu verstehen.

def Soundex(string):
    string = string.lower()
    law = {'aehiouwy' : 0,
           'bfpv': 1,
           'cgjkqsxz': 2,
           'dt': 3,
           'l': 4,
           'mn': 5,
           'r': 6}
    temp_string = string
    for key, value in law.items():
        temp_string = re.sub('[{}]'.format(key), str(value), temp_string)
    temp_string = re.sub('0', '', temp_string)
    result = []
    for char in temp_string:
        if char not in result:
            result.append(char)

    result = string[0] + ''.join(result[:3])
    while len(result) != 4:
        result += '0'
    print(result)
Veröffentlicht 12 Original - Artikel · erntete Lob 3 · Aufrufe 2055

Ich denke du magst

Origin blog.csdn.net/weixin_40902563/article/details/105382376
Empfohlen
Rangfolge