diff --git a/src/de/schildbach/pte/SncbProvider.java b/src/de/schildbach/pte/SncbProvider.java index 4203f97d..298ad67e 100644 --- a/src/de/schildbach/pte/SncbProvider.java +++ b/src/de/schildbach/pte/SncbProvider.java @@ -110,12 +110,13 @@ public class SncbProvider extends AbstractHafasProvider , Pattern.DOTALL); private static final Pattern P_DEPARTURES_COARSE = Pattern.compile("

\r\n(.*?)

", Pattern.DOTALL); private static final Pattern P_DEPARTURES_FINE = Pattern.compile(".*?" // - + "(.*?).*?" // line + + "([^<]*).*?" // line + ">>\r\n" // + "(.*?)\r\n" // destination + "
\r\n" // + "(\\d{1,2}:\\d{2})\r\n" // time + "(?:([+-]?\\d+|Ausfall)\r\n)?" // delay + + "(?:Aktivierung\r\n)?" + "(?:([^<]*)
\r\n)?" // position , Pattern.DOTALL); public QueryDeparturesResult queryDepartures(final int stationId, final int maxDepartures, final boolean equivs) throws IOException @@ -165,7 +166,10 @@ public class SncbProvider extends AbstractHafasProvider mDepFine.group(4); // TODO delay - final Departure dep = new Departure(parsedTime.getTime(), line, line != null ? lineColors(line) : null, null, 0, destination); + final String position = mDepFine.group(5); + + final Departure dep = new Departure(parsedTime.getTime(), line, line != null ? lineColors(line) : null, position, 0, + destination); if (!departures.contains(dep)) departures.add(dep);