Thread Hilfestellung - Suchen und Ersetzen im Speziellen bei großen Dateien (16 answers)
Opened by jan99 at 2015-11-06 18:21

jan99
 2015-11-21 18:14
#183024 #183024
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Moin !

ich muss dieses Posting nochmal aufgreifen, weil sich zu den zwei Punkten zwei neue Situtationen ergeben haben.

lat-lon auslesen und schreiben

Die Datenzeile sah bei mir so aus:

Quote
<node id='13838246' timestamp='2012-02-12T18:13:28Z' uid='55462' user='Lübeck' visible='true' version='9' changeset='10666125' lat='36.7146592540898' lon='-4.4524097' />


hierzu hatten wir folgenden Code erarbeitet:

auslesen der Daten
Code: (dl )
1
2
my ($lat_old) = $line =~ m/lat='(-?\d+\.\d+)/;
my ($lon_old) = $line =~ m/lon='(-?\d+\.\d+)/;


austauschen der Werte
Code: (dl )
1
2
$line =~ s/lon='(-?\d+\.\d+)/lon='$lon_new/;
$line =~ s/lat='(-?\d+\.\d+)/lat='$lat_new/;


Nun hat sich herausgestellt das es auch die Variante gibt statt dem einfachen Hochkomme richtige Anführungszeichen vorkommen können - allerdings nicht gemischt !

Tausche ich die Zeichen in meinem Code aus, dann funktioniert das - aber schön wären Ausdrücke, die für beide Varianten Anwendung finden würden.



upload-false


Eine andere Fragestellung betraff das der Wert von upload='true' auf upload='false' umgestellt werden kann.

Dafür gab es

Code (perl): (dl )
 $line =~ s/upload='true'/upload='false'/;


Zum einem müsste dieser Code auch auf die Anführungszeichen-Problematik angepaßt werden.

Zum anderen kann es vorkommen das upload in der Zeile

Quote
<osm version='0.6' generator='OsmPad'>


gar nicht vorkommt, dann müsste dieser Wert eingeschoben werden. Die Versionsnummer und der Name bei Generator sind Variable!


Kann einer weiterhelfen?

Gruß Jan
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de

View full thread Hilfestellung - Suchen und Ersetzen im Speziellen bei großen Dateien