More special charaters to split keyword when searching for related titles

This commit is contained in:
Cuong M. Tran 2024-04-29 03:54:35 +07:00
parent d9e440084e
commit b514a30f22
No known key found for this signature in database
GPG key ID: 733AA7624B9315C2

View file

@ -33,7 +33,6 @@ import uy.kohesive.injekt.api.get
import java.net.URI import java.net.URI
import java.net.URISyntaxException import java.net.URISyntaxException
import java.security.MessageDigest import java.security.MessageDigest
import java.util.Locale
/** /**
* A simple implementation for sources from a website. * A simple implementation for sources from a website.
@ -322,7 +321,8 @@ abstract class HttpSource : CatalogueSource {
protected open suspend fun getRelatedMangaListBySearch(manga: SManga): List<SManga> { protected open suspend fun getRelatedMangaListBySearch(manga: SManga): List<SManga> {
fun String.stripKeyword(): List<String> { fun String.stripKeyword(): List<String> {
val regexWhitespace = Regex("\\s+") val regexWhitespace = Regex("\\s+")
val regexSpecialCharacters = Regex("[\\[(!~@#$%^&*|,?:\"<>)\\]]") val regexSpecialCharacters =
Regex("([!~#$%^&*+_|/\\\\,?:;'“”‘’\"<>(){}\\[\\]。・~:—!?、―«»《》〘〙【】「」|]|\\s-|-\\s|\\s\\.|\\.\\s)")
val regexNumberOnly = Regex("^\\d+$") val regexNumberOnly = Regex("^\\d+$")
return replace(regexSpecialCharacters, " ") return replace(regexSpecialCharacters, " ")
@ -330,7 +330,7 @@ abstract class HttpSource : CatalogueSource {
.map { .map {
// remove number only // remove number only
it.replace(regexNumberOnly, "") it.replace(regexNumberOnly, "")
.lowercase(Locale.getDefault()) .lowercase()
} }
// exclude single character // exclude single character
.filter { it.length > 1 } .filter { it.length > 1 }