Ich bin ziemlich gut in RegEx, aber eines kann ich anscheinend nicht herausfinden, wie es funktioniert.
Wie würde man in NotePad ++ suchen / ersetzen und sicherstellen, dass die Ausgabe eine feste Länge hat, während die Eingabe flexibel sein kann?
Beispiel: Führen Sie einen regulären Ausdruck für Folgendes aus: um 23-6-2016
zu werden: 23-06-2016
(zusätzliche 0 für 06, aber nicht, wenn es zum Beispiel 12 ist)
Eine andere Möglichkeit besteht darin, Folgendes zu erstellen:
TestString
und Test
würde
TestString______________________
(zusätzliche Leerzeichen)
Test____________________________
(zusätzliche Leerzeichen) werden.
Die Idee hier ist natürlich, eine Massensuche / -ersetzung durchzuführen, bei der die Ausgabe alle die gleiche Länge hat.
Bitte erläutern Sie den Gedanken dahinter.
BEARBEITEN: Um eine Vorstellung von den Daten zu geben, mit denen ich arbeite, ist hier eine Beispielzeile, die ich verarbeiten muss:
12345678 TXT 19700101 0 100 20160624 100 Comment text
12345678 TXT 19700101 100 100,25 20160624 0,25 Comment text
12345678 TXT 19700101 100,25 100,5 20160624 0,25 Comment text
Beachten Sie, dass diese durch Tabulatoren getrennt sind. Die erste 0 in der ersten Zeile sollte als 0,00, die 100 als 100,00 formatiert sein, aber die 12345678 und die Daten sollten nicht mit 00 formatiert werden. Die letzten 100,5 sollten als 100,50 formatiert sein
Ich habe mich um das Date-Zeug gekümmert, das ist momentan weniger wichtig.
\b(\d)\b
durch0\1
. Grund dafür ist, dass RegEx keine Möglichkeit bietet, die übereinstimmende Länge zu überprüfen.