Reguläre Ausdrücke löschen Leerstelle des Tausenderzeichens
Verfasst: Mi, 13.09.2006 17:50
Kann OO Reguläre Teilausdrücke ersetzen durch /$1 oder &1 ??
Ich habe aus einer pdf Tabelle die Zahlen extrahiert.
Ausgangspunkt des Problems sind die Tausenderzeichen in der pdf Tabelle.
123 456
Mit dem 00-Makro "Columns2cell" wird aber auch die Spaltentrennung nur mit einem Leerzeichen dargestellt.
Dadurch werden aus den beiden pdf Spalten
123 456|987 654|
dann auf einmal 4 Spalten
123|456|987|654|
Mit dem Windows Freeware Free PDF Text Reader werden saubere Spalten mit jeweils einem TausenderLeerzeichen, aber als Spaltentrennung ca. 10 Leerzeichen, erstellt.
Wenn ich den Text in Writer reinkopiere, dann kann ich mit
[0-9]{1,3} [0-9]{1,3}
den gewünschten Ausdruck "123 456" erkennen.
Wie kann ich die beiden Teilausdrücke dann in "Ersetzen durch" reinbekommen, so dass das unerwünschte Leerzeichen wegfällt?
Mit
&1&2
passiert zumindest das Erkennen der Teilausdrücke, aber dadurch verbleibt der String
123 456 an der gleichen Stelle, und dahinter wird 1123 4562 eingefügt.
Es entsteht:
123 4561123 4562 - also wurde eine 1 am Anfang und eine 2 ans Ende reingebaut.
Mit der Ersetzung durch &&
entsteht eine Art Verdoppelung:
123 456123 456
Also kann OO keine "backreferences" ersetzen?? Ist das so, oder gibt es undokumentierte Befehlsfolgen?
/1 oder $1 etc gehen auch nicht.
Wenn das nicht in OO geht, welches andere Programm kann das?
Ich habe aus einer pdf Tabelle die Zahlen extrahiert.
Ausgangspunkt des Problems sind die Tausenderzeichen in der pdf Tabelle.
123 456
Mit dem 00-Makro "Columns2cell" wird aber auch die Spaltentrennung nur mit einem Leerzeichen dargestellt.
Dadurch werden aus den beiden pdf Spalten
123 456|987 654|
dann auf einmal 4 Spalten
123|456|987|654|
Mit dem Windows Freeware Free PDF Text Reader werden saubere Spalten mit jeweils einem TausenderLeerzeichen, aber als Spaltentrennung ca. 10 Leerzeichen, erstellt.
Wenn ich den Text in Writer reinkopiere, dann kann ich mit
[0-9]{1,3} [0-9]{1,3}
den gewünschten Ausdruck "123 456" erkennen.
Wie kann ich die beiden Teilausdrücke dann in "Ersetzen durch" reinbekommen, so dass das unerwünschte Leerzeichen wegfällt?
Mit
&1&2
passiert zumindest das Erkennen der Teilausdrücke, aber dadurch verbleibt der String
123 456 an der gleichen Stelle, und dahinter wird 1123 4562 eingefügt.
Es entsteht:
123 4561123 4562 - also wurde eine 1 am Anfang und eine 2 ans Ende reingebaut.
Mit der Ersetzung durch &&
entsteht eine Art Verdoppelung:
123 456123 456
Also kann OO keine "backreferences" ersetzen?? Ist das so, oder gibt es undokumentierte Befehlsfolgen?
/1 oder $1 etc gehen auch nicht.
Wenn das nicht in OO geht, welches andere Programm kann das?