2016-10-06 2 views
-4

ich eine große Datendatei habe mit Zahlenfolgen Lagern der FormRegulärer Ausdruck Zahlenpaar in eckigen Klammern zu setzen

6.06038475036627,50.0646896362306\r\n 
6.0563435554505,50.0635681152345\r\n 
6.05446767807018,50.0632934570313\r\n 

, die ich in dem Editor zu ändern versuchen ++ so liest es

[6.06038475036627,50.0646896362306]\r\n 
[6.0563435554505,50.0635681152345]\r\n 
[6.05446767807018,50.0632934570313]\r\n 

Ich kann die Anzahl der Instanzen dieser Vorkommen mit einer relativ einfachen Regex \d{1,2}\.\d+\,\d{1,2}\.\d+ zählen. Aber da sind meine eigenen Regex-Fähigkeiten. Ich bin mir bewusst, dass es möglich ist, einen Schritt weiter zu gehen und die tatsächlichen Änderungen durchzuführen, aber ich habe keine Ahnung, wie das gemacht werden sollte. Ich wäre allen, die mir helfen könnten, sehr dankbar.

+0

Sind diese '\ r \ n' Literale, oder meinen Sie, Sie haben dort einen Wagenrücklauf/Zeilenvorschub? – trincot

+0

Ersetzen Sie '^' mit '[' und '$' mit ']'. Oder, wenn Sie nur die Zeilen durch 2 Komma getrennte Dezimalwerte mit dem gleichen Inhalt innerhalb '[]' ersetzen müssen, verwenden Sie '^ \ d {1,2} \. \ D +, \ d {1,2} \. \ d + $ 'und ersetzen durch' [$ &] '. ** Bitte klären Sie den * Kontext *, oder lassen Sie zumindest wissen, ob einer der obigen Punkte hilft. –

+0

Suchen Sie nur nach dem Ersatzmuster? '[$ &]'? –

Antwort

0

Sie würden einfach tun müssen, wie folgt:

Find what: (\d+\.\d+,\d+\.\d+) 
Replace with: [\1] 

Vergewissern Sie sich, dass Regular Expression geprüft.

dies gegeben, wird es diese Transformation:

6.06038475036627,50.0646896362306\r\n 
6.0563435554505,50.0635681152345\r\n 
6.05446767807018,50.0632934570313\r\n 

In diese:

[6.06038475036627,50.0646896362306]\r\n 
[6.0563435554505,50.0635681152345]\r\n 
[6.05446767807018,50.0632934570313]\r\n 

Der obige Ausdruck passt auf die Komma-Nummern getrennt und sie in einer Gruppe werfen. Der Ersatz injiziert eine [, gefolgt von der passenden Gruppe (\1) und es wird eine weitere ] injizieren.

Verwandte Themen