From 32893ada5ce93352f0d3e12fa1fc401d10b43492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Wed, 6 May 2026 13:55:48 -0400 Subject: [PATCH 1/3] Strings cleaner > FR > remove "ligne" from route long name & "station" from trip head-sign --- src/main/java/org/mtransit/commons/CleanUtils.java | 3 +++ src/main/java/org/mtransit/commons/StringsCleaner.kt | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/org/mtransit/commons/CleanUtils.java b/src/main/java/org/mtransit/commons/CleanUtils.java index 4ef8d0f..07bff8c 100644 --- a/src/main/java/org/mtransit/commons/CleanUtils.java +++ b/src/main/java/org/mtransit/commons/CleanUtils.java @@ -733,6 +733,9 @@ public static String cleanMergedID(@NotNull String mergedId) { static final Pattern LINE = Pattern.compile("(^|\\s)(line)(\\s|$)", Pattern.CASE_INSENSITIVE); static final String LINE_REPLACEMENT = "$1$3"; + static final Pattern LIGNE = Pattern.compile("(^|\\s)(ligne)(\\s|$)", Pattern.CASE_INSENSITIVE); + static final String LIGNE_REPLACEMENT = "$1$3"; + // http://www.semaphorecorp.com/cgi/abbrev.html private static final Pattern STREET = cleanWords("street"); private static final String STREET_REPLACEMENT = cleanWordsReplacement("St"); diff --git a/src/main/java/org/mtransit/commons/StringsCleaner.kt b/src/main/java/org/mtransit/commons/StringsCleaner.kt index e51a6e1..44ec8fa 100644 --- a/src/main/java/org/mtransit/commons/StringsCleaner.kt +++ b/src/main/java/org/mtransit/commons/StringsCleaner.kt @@ -21,6 +21,9 @@ object StringsCleaner { if (languages?.contains(Locale.ENGLISH) == true) { routeLongName = CleanUtils.LINE.matcher(routeLongName).replaceAll(CleanUtils.LINE_REPLACEMENT) } + if (languages?.contains(Locale.FRENCH) == true) { + routeLongName = CleanUtils.LIGNE.matcher(routeLongName).replaceAll(CleanUtils.LIGNE_REPLACEMENT) + } val makeShorter = routeLongName.length > ROUTE_LONG_NAME_SHORT_MAX_LENGTH && routeLongName.contains(' ') routeLongName = cleanString(routeLongName, languages, lowerUCStrings, lowerUCWords, *ignoredUCWords, short = makeShorter, shortMaxLength = ROUTE_LONG_NAME_SHORT_MAX_LENGTH) return routeLongName @@ -50,6 +53,14 @@ object StringsCleaner { } } } + if (languages?.contains(Locale.FRENCH) == true) { + when (routeType) { + 1, // subway + -> { + tripHeadsign = CleanUtils.STATION.matcher(tripHeadsign).replaceAll(EMPTY) + } + } + } if (languages?.contains(Locale.ENGLISH) == true) { tripHeadsign = if (removeVia) { CleanUtils.keepToAndRemoveVia(tripHeadsign) From d207e44e78705dc1c1e48b50abd09257fd9e60a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Wed, 6 May 2026 14:15:10 -0400 Subject: [PATCH 2/3] PR comments --- src/main/java/org/mtransit/commons/CleanUtils.java | 6 +++--- src/main/java/org/mtransit/commons/StringsCleaner.kt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/mtransit/commons/CleanUtils.java b/src/main/java/org/mtransit/commons/CleanUtils.java index 07bff8c..e5ee686 100644 --- a/src/main/java/org/mtransit/commons/CleanUtils.java +++ b/src/main/java/org/mtransit/commons/CleanUtils.java @@ -733,8 +733,8 @@ public static String cleanMergedID(@NotNull String mergedId) { static final Pattern LINE = Pattern.compile("(^|\\s)(line)(\\s|$)", Pattern.CASE_INSENSITIVE); static final String LINE_REPLACEMENT = "$1$3"; - static final Pattern LIGNE = Pattern.compile("(^|\\s)(ligne)(\\s|$)", Pattern.CASE_INSENSITIVE); - static final String LIGNE_REPLACEMENT = "$1$3"; + static final Pattern LINE_ = cleanWords("line"); + static final Pattern FR_CA_LIGNE = cleanWords("line"); // http://www.semaphorecorp.com/cgi/abbrev.html private static final Pattern STREET = cleanWords("street"); @@ -1013,7 +1013,7 @@ public static String cleanStreetTypes(@NotNull String string) { private static final String FR_CA_SECTEURS_REPLACEMENT = cleanWordsReplacementPlural("Sect"); private static final Pattern FR_CA_STATION_DE_METRO = cleanWordsFR("Station de m[é|e]tro"); private static final String FR_CA_STATION_DE_METRO_REPLACEMENT = cleanWordsReplacement("Ston mét"); - private static final Pattern FR_CA_STATION = cleanWordsFR("station"); + static final Pattern FR_CA_STATION = cleanWordsFR("station"); private static final String FR_CA_STATION_REPLACEMENT = cleanWordsReplacement("Ston"); private static final Pattern FR_CA_STATIONNEMENT = cleanWordsFR("stationnement"); private static final String FR_CA_STATIONNEMENT_REPLACEMENT = cleanWordsReplacement("Stat"); diff --git a/src/main/java/org/mtransit/commons/StringsCleaner.kt b/src/main/java/org/mtransit/commons/StringsCleaner.kt index 44ec8fa..c2e44e9 100644 --- a/src/main/java/org/mtransit/commons/StringsCleaner.kt +++ b/src/main/java/org/mtransit/commons/StringsCleaner.kt @@ -19,10 +19,10 @@ object StringsCleaner { ): String { var routeLongName = originalRouteLongName if (languages?.contains(Locale.ENGLISH) == true) { - routeLongName = CleanUtils.LINE.matcher(routeLongName).replaceAll(CleanUtils.LINE_REPLACEMENT) + routeLongName = CleanUtils.LINE_.matcher(routeLongName).replaceAll(EMPTY) } if (languages?.contains(Locale.FRENCH) == true) { - routeLongName = CleanUtils.LIGNE.matcher(routeLongName).replaceAll(CleanUtils.LIGNE_REPLACEMENT) + routeLongName = CleanUtils.FR_CA_LIGNE.matcher(routeLongName).replaceAll(EMPTY) } val makeShorter = routeLongName.length > ROUTE_LONG_NAME_SHORT_MAX_LENGTH && routeLongName.contains(' ') routeLongName = cleanString(routeLongName, languages, lowerUCStrings, lowerUCWords, *ignoredUCWords, short = makeShorter, shortMaxLength = ROUTE_LONG_NAME_SHORT_MAX_LENGTH) @@ -57,7 +57,7 @@ object StringsCleaner { when (routeType) { 1, // subway -> { - tripHeadsign = CleanUtils.STATION.matcher(tripHeadsign).replaceAll(EMPTY) + tripHeadsign = CleanUtils.FR_CA_STATION.matcher(tripHeadsign).replaceAll(EMPTY) } } } From dac3c547249f897b328c5d89d10f04a1b94af6bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20M=C3=A9a?= Date: Wed, 6 May 2026 15:40:32 -0400 Subject: [PATCH 3/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- src/main/java/org/mtransit/commons/CleanUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/mtransit/commons/CleanUtils.java b/src/main/java/org/mtransit/commons/CleanUtils.java index e5ee686..e1042b7 100644 --- a/src/main/java/org/mtransit/commons/CleanUtils.java +++ b/src/main/java/org/mtransit/commons/CleanUtils.java @@ -734,7 +734,7 @@ public static String cleanMergedID(@NotNull String mergedId) { static final String LINE_REPLACEMENT = "$1$3"; static final Pattern LINE_ = cleanWords("line"); - static final Pattern FR_CA_LIGNE = cleanWords("line"); + static final Pattern FR_CA_LIGNE = cleanWordsFR("ligne"); // http://www.semaphorecorp.com/cgi/abbrev.html private static final Pattern STREET = cleanWords("street");