diff --git a/src/main/java/org/mtransit/commons/CleanUtilsExt.kt b/src/main/java/org/mtransit/commons/CleanUtilsExt.kt index 0864d2f..0e6a60e 100644 --- a/src/main/java/org/mtransit/commons/CleanUtilsExt.kt +++ b/src/main/java/org/mtransit/commons/CleanUtilsExt.kt @@ -27,7 +27,7 @@ import org.mtransit.commons.CleanUtils.PLACE_CHAR_TSSE fun makeALL_ST_REGEX() = buildString { - append("((^\\s*|/\\s*)(") + append("((^\\s*|/\\s*)(") // |\s+ not after another word append( listOf( PLACE_CHAR_ARRONDISSEMENT, @@ -51,7 +51,7 @@ fun makeALL_ST_REGEX_REPLACEMENT() = "$2" fun makeALL_CHARS_REGEX() = buildString { - append("((^\\s*|/\\s*)(") + append("((^\\s*|/\\s*|\\s+)(") // |\s+ after another word append( listOf( PLACE_CHAR_DE_L, @@ -73,7 +73,7 @@ fun makeALL_CHARS_REGEX_REPLACEMENT() = "$2" fun makeALL_FACE_A_REGEX() = buildString { - append("((^|\\s)(") + append("((^\\s*|/\\s*|\\s+)(") // |\s+ after another word append( listOf( "face à ", diff --git a/src/main/java/org/mtransit/commons/StringsCleaner.kt b/src/main/java/org/mtransit/commons/StringsCleaner.kt index ad3d965..7061ce8 100644 --- a/src/main/java/org/mtransit/commons/StringsCleaner.kt +++ b/src/main/java/org/mtransit/commons/StringsCleaner.kt @@ -23,6 +23,8 @@ object StringsCleaner { return routeLongName } + private const val TRIP_HEADSIGN_SHORT_MAX_LENGTH = 13 + @JvmOverloads @JvmStatic fun cleanTripHeadsign( @@ -54,10 +56,13 @@ object StringsCleaner { if (languages?.contains(Locale.FRENCH) == true) { tripHeadsign = CleanUtils.keepToFR(tripHeadsign) } - tripHeadsign = cleanString(tripHeadsign, languages, lowerUCStrings, lowerUCWords, *ignoredUCWords, short = true) + val makeShorter = tripHeadsign.length > TRIP_HEADSIGN_SHORT_MAX_LENGTH + tripHeadsign = cleanString(tripHeadsign, languages, lowerUCStrings, lowerUCWords, *ignoredUCWords, short = makeShorter) return tripHeadsign } + private const val STOP_NAME_SHORT_MAX_LENGTH = 17 + @JvmOverloads @JvmStatic fun cleanStopName( @@ -79,7 +84,8 @@ object StringsCleaner { } } - stopName = cleanString(stopName, languages, lowerUCStrings, lowerUCWords, *ignoredUCWords, short = true) + val makeShorter = stopName.length > STOP_NAME_SHORT_MAX_LENGTH + stopName = cleanString(stopName, languages, lowerUCStrings, lowerUCWords, *ignoredUCWords, short = makeShorter) return stopName } @@ -101,10 +107,10 @@ object StringsCleaner { } string = CleanUtils.cleanSlashes(string) if (languages?.contains(Locale.ENGLISH) == true) { + string = CleanUtils.fixMcXCase(string) if (short) { string = CleanUtils.CLEAN_AND.matcher(string).replaceAll(CleanUtils.CLEAN_AND_REPLACEMENT) string = CleanUtils.CLEAN_AT.matcher(string).replaceAll(CleanUtils.CLEAN_AT_REPLACEMENT) - string = CleanUtils.fixMcXCase(string) string = CleanUtils.cleanStreetTypes(string) string = CleanUtils.cleanNumbers(string) }