From 64ff4cf4cd9aceebd9229f1373fc262d8eae2104 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Mon, 11 Jun 2012 21:48:11 +0200 Subject: [PATCH] tidy up lines of Karlsruhe --- enabler/src/de/schildbach/pte/KvvProvider.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/enabler/src/de/schildbach/pte/KvvProvider.java b/enabler/src/de/schildbach/pte/KvvProvider.java index 36aef01c..fa1976e2 100644 --- a/enabler/src/de/schildbach/pte/KvvProvider.java +++ b/enabler/src/de/schildbach/pte/KvvProvider.java @@ -19,6 +19,8 @@ package de.schildbach.pte; import java.util.HashMap; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import de.schildbach.pte.dto.Style; import de.schildbach.pte.dto.Style.Shape; @@ -57,13 +59,17 @@ public class KvvProvider extends AbstractEfaProvider return false; } + private static final Pattern P_LINE = Pattern.compile("(.*?)\\s+\\([\\w/]+\\)", Pattern.CASE_INSENSITIVE); + @Override protected String parseLine(final String mot, final String name, final String longName, final String noTrainName) { - if (name.endsWith(" (VBK)")) // Verkehrsbetriebe Karlsruhe - return super.parseLine(mot, name.substring(0, name.length() - 6), longName, noTrainName); + final Matcher m = P_LINE.matcher(name); + if (m.matches()) + return super.parseLine(mot, m.group(1), longName, noTrainName); else return super.parseLine(mot, name, longName, noTrainName); + // TODO check for " (Ersatzverkehr)" } private static final Map LINES = new HashMap();