diff --git a/app/build.gradle b/app/build.gradle index 0772e219c..74a7b5b01 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -192,9 +192,6 @@ dependencies { //apache implementation 'org.apache.commons:commons-text:1.9' - //字符串比较 - implementation 'net.ricecode:string-similarity:1.0.0' - //MarkDown implementation 'io.noties.markwon:core:4.6.0' implementation 'io.noties.markwon:image-glide:4.6.0' diff --git a/app/src/main/java/io/legado/app/help/BookHelp.kt b/app/src/main/java/io/legado/app/help/BookHelp.kt index 6b8dffb31..c8fad6f6e 100644 --- a/app/src/main/java/io/legado/app/help/BookHelp.kt +++ b/app/src/main/java/io/legado/app/help/BookHelp.kt @@ -10,8 +10,7 @@ import io.legado.app.model.analyzeRule.AnalyzeUrl import io.legado.app.model.localBook.LocalBook import io.legado.app.utils.* import kotlinx.coroutines.delay -import net.ricecode.similarity.JaroWinklerStrategy -import net.ricecode.similarity.StringSimilarityServiceImpl +import org.apache.commons.text.similarity.JaccardSimilarity import java.io.File import java.util.concurrent.CopyOnWriteArraySet import java.util.regex.Matcher @@ -216,6 +215,10 @@ object BookHelp { .trim { it <= ' ' } } + private val jaccardSimilarity by lazy { + JaccardSimilarity() + } + /** * 根据目录名获取当前章节 */ @@ -248,10 +251,9 @@ object BookHelp { var newIndex = 0 var newNum = 0 if (oldName.isNotEmpty()) { - val service = StringSimilarityServiceImpl(JaroWinklerStrategy()) for (i in min..max) { val newName = getPureChapterName(newChapterList[i].title) - val temp = service.score(oldName, newName) + val temp = jaccardSimilarity.apply(oldName, newName) if (temp > nameSim) { nameSim = temp newIndex = i