确定两个字符串匹配多少

Ber*_*rer 1 python string match

假设我们有3个字符串

songA = "(Used to Be A) Cha-Cha.flac"
songB = "(Used to Be A) Cha-Cha [Alt Take].flac"
Run Code Online (Sandbox Code Playgroud)

我们想要匹配第三个字符串

songC = "(Used to Be A) Cha-Cha.flac"
Run Code Online (Sandbox Code Playgroud)

现在,尽管songA和SongB都与songC相匹配,但很明显songA是一个"更好"的匹配,因为它没有[Alt Take]部分,从而完美匹配.如果我使用该songA in songB方法两者都将匹配,那么我如何计算匹配的好坏?

Dek*_*kel 6

您可以使用python-Levenshtein lib来计算两个字符串之间的levenshtein距离:

import Levenshtein
Levenshtein.distance(songC, songA) # 0
Levenshtein.distance(songC, songB) # 11
Run Code Online (Sandbox Code Playgroud)