Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/main/java/org/mtransit/commons/CleanUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -695,6 +695,8 @@ public static String cleanMergedID(@NotNull String mergedId) {
return ID_MERGED.matcher(mergedId).replaceAll(ID_MERGED_REPLACEMENT);
}

static final Pattern LINE = cleanWords("line");

// http://www.semaphorecorp.com/cgi/abbrev.html
private static final Pattern STREET = cleanWords("street");
private static final String STREET_REPLACEMENT = cleanWordsReplacement("St");
Expand Down Expand Up @@ -762,7 +764,7 @@ public static String cleanMergedID(@NotNull String mergedId) {
private static final String VIEW_REPLACEMENT = cleanWordsReplacement("Vw");
private static final Pattern VILLAGE = cleanWords("village");
private static final String VILLAGE_REPLACEMENT = cleanWordsReplacement("Vlg");
private static final Pattern STATION = cleanWords("station");
static final Pattern STATION = cleanWords("station");
private static final String STATION_REPLACEMENT = cleanWordsReplacement("Sta");
private static final Pattern RANCH = cleanWords("ranch");
private static final String RANCH_REPLACEMENT = cleanWordsReplacement("Rnch");
Expand Down
26 changes: 26 additions & 0 deletions src/main/java/org/mtransit/commons/StringsCleaner.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.mtransit.commons

import org.mtransit.commons.StringUtils.EMPTY
import java.util.Locale

object StringsCleaner {
Expand All @@ -9,11 +10,15 @@ object StringsCleaner {
fun cleanRouteLongName(
originalRouteLongName: String,
languages: List<Locale>?,
@Suppress("unused") routeType: Int,
lowerUCStrings: Boolean = false,
lowerUCWords: Boolean = false,
vararg ignoredUCWords: String = emptyArray(),
): String {
var routeLongName = originalRouteLongName
if (languages?.contains(Locale.ENGLISH) == true) {
routeLongName = CleanUtils.LINE.matcher(routeLongName).replaceAll(EMPTY)
}
routeLongName = cleanString(routeLongName, languages, lowerUCStrings, lowerUCWords, *ignoredUCWords, short = false)
return routeLongName
}
Expand All @@ -23,12 +28,22 @@ object StringsCleaner {
fun cleanTripHeadsign(
originalTripHeadsign: String,
languages: List<Locale>?,
routeType: Int,
lowerUCStrings: Boolean = false,
lowerUCWords: Boolean = false,
vararg ignoredUCWords: String = emptyArray(),
removeVia: Boolean = false,
): String {
var tripHeadsign = originalTripHeadsign
if (languages?.contains(Locale.ENGLISH) == true) {
when (routeType) {
1, // subway
2, // train/rail
-> {
tripHeadsign = CleanUtils.STATION.matcher(tripHeadsign).replaceAll(EMPTY)
}
}
}
if (languages?.contains(Locale.ENGLISH) == true) {
tripHeadsign = if (removeVia) {
CleanUtils.keepToAndRemoveVia(tripHeadsign)
Expand All @@ -48,11 +63,22 @@ object StringsCleaner {
fun cleanStopName(
originalStopName: String,
languages: List<Locale>?,
routeType: Int,
lowerUCStrings: Boolean = false,
lowerUCWords: Boolean = false,
vararg ignoredUCWords: String = emptyArray(),
): String {
var stopName = originalStopName
if (languages?.contains(Locale.ENGLISH) == true) {
when (routeType) {
1, // subway
2, // train/rail
-> {
stopName = CleanUtils.STATION.matcher(stopName).replaceAll(EMPTY)
}
}

}
stopName = cleanString(stopName, languages, lowerUCStrings, lowerUCWords, *ignoredUCWords, short = true)
return stopName
}
Expand Down