Java 按歌曲名称和艺术家名称查找歌曲的算法,匹配最接近的字符串

Java 按歌曲名称和艺术家名称查找歌曲的算法,匹配最接近的字符串,java,search,Java,Search,我正在使用spotify的API在一个文本区域中查找一首歌曲,其中包含多个歌曲名称-艺术家名称,挑战在于可以以多种格式输入信息, 例如: 等等 由于歌曲在spotify中不可用,我想根据用户的选择以两种方式实现它:精确匹配,如果字符串的某个百分比找到匹配,则匹配 有没有关于如何实现这一点的建议,或者有助于实现这一点的算法? 谢谢 我建议您看一下。它通过计算两个字符串之间的编辑距离(即,将第一个字符串转换为第二个字符串或将第一个字符串转换为第二个字符串所需的最小字符插入、删除或替换次数)来比较两个

我正在使用spotify的API在一个文本区域中查找一首歌曲,其中包含多个歌曲名称-艺术家名称,挑战在于可以以多种格式输入信息, 例如:

等等

由于歌曲在spotify中不可用,我想根据用户的选择以两种方式实现它:精确匹配,如果字符串的某个百分比找到匹配,则匹配

有没有关于如何实现这一点的建议,或者有助于实现这一点的算法?
谢谢

我建议您看一下。它通过计算两个字符串之间的编辑距离(即,将第一个字符串转换为第二个字符串或将第一个字符串转换为第二个字符串所需的最小字符插入、删除或替换次数)来比较两个字符串。这是一种非常基本和常用的方法,但是还有多种其他方法可以编辑周围的距离,这些方法可能适合您的应用程序的需要。上面提到的文章中也提到了其中一些

Pink Floyd - shine on you crazy diamond
shine on you crazy diamond - pink Floyd
pink Floyd : shine on you crazy diamond
Pink Floyd - shine on you crazy diamond (HQ) (lyrics)