[Talk-de] maxweight - Anlieger frei

Sebastian Hohmann mail at s-hohmann.de
So Mai 31 14:58:19 UTC 2009


Per schrieb:
>> Eine weitere Möglichkeit wäre traffic_sign=DE:262[5.5],1020-30 um 
>> erstmal anzugeben um was für Schilder es sich dreht.
> 
> "[*]" macht das parsen nur unnötig kompliziert.
> Was sich mit "split" gut trennen lässt, funktioniert auch gut mit
> "regex". Andersherum gilt das leider nicht.
> 
> traffic_sign=DE:262:5.5;DE:1020-30
> 
> Siehe dazu auch http://wiki.openstreetmap.org/wiki/DE:Road_Signs
> 
> Das "DE:" ist zwar redundante Information, erleichtert aber das parsen.
> Pseudocode ohne Netz und doppelten Boden:
> signs = key.split(';')
> for sign in signs:
>   country, id, value = sign.split(':')
> 
> 

Nutzt man allerdings beispielsweise für Zeitangaben die Syntax von 
opening_hours, dann hat man ein problem mit dem Doppelpunkt. Natürlich 
kann theoretisch jedes Zeichen irgendwo vorkommen, aber Zeitangaben sind 
ja nicht so fürchterlich selten. Auch ein Strichpunkt und Komma kommt in 
der opening_hours-Syntax vor. Mit einem einfachen Split könnte es da 
also immer zu Problemen kommen. Was schlägst du dafür vor?

Man könnte natürlich ein Zeichen nehmen, das in solchen Werte vermutlich 
eher nicht vorkommt, aber mit ',.-:;%' muss man wohl schon rechnen.

Gruß


http://wiki.openstreetmap.org/wiki/Key:opening_hours




Mehr Informationen über die Mailingliste Talk-de