完成两个cs课程后,我开始使用Java开发个人项目.我正在编写一个程序,它将查看音乐集,并尝试通过查看文件名和元标记来设置"Composer"标记.我将这些作为一个简单的文本文件创建的作曲家列表进行比较.我的问题是:
比较两个字符串以尝试找到最佳匹配类型的好方法是什么?例如,在我的情况下,假设我有一个名为'Pulenc - 格洛丽亚在excelsis Deo.flac'的文件.在我的作曲家名单中,我有'Poulenc,Francis'.我希望能够阅读'Pulenc',并且看到它非常接近'Poulenc',这样我就可以正确设置作曲家标签了.一位朋友建议我研究使用余弦距离(我之前从未听说过)和另一个推荐的Levenshtein距离.这些方法中的任何一种都是一种好的方法,还是有其他可能更好的方法?