Ich habe Komma-getrennte Token, Ich muss sie in Token in durch Leerzeichen getrennte Doppelpunkte konvertieren. Ich wollte regulären Ausdruck in Notepad ++ verwenden, hatte aber ein Problem.
Meine Eingabe ist:
%Vor%Ich möchte als Ergebnis erhalten:
%Vor%Jedes Token erhält genau 10 Zeichen
Mein Problem ist, wie man die Ausgabe genau 10 Zeichen macht?
Ich sehe das als einen zweistufigen Prozess. Schritt Eins ersetzen Sie alle Kommas durch 10 Leerzeichen. Schritt Zwei erfassen 10 Zeichen und alle nachfolgenden Leerzeichen und ersetzen sie durch nur die 10 erfassten Zeichen.
Ersetzen durch: __________
Dies sind Unbags, aber Sie sollten wirklich zehn oder mehr Leerzeichen verwenden.
Live-Demo: Ссылка
Beispieltext
%Vor%Nach dem Austausch
%Vor%Hinweis: Ich habe hier die Zahlenzeile eingefügt, um die Anzahl und Position der Zeichen zu verdeutlichen
Ersetzen durch:
Live-Demo: Ссылка
Beispieltext
Da dies der zweite Schritt ist, ist der Beispieltext die Ausgabe von Schritt 1 oberhalb von
%Vor%Nach dem Austausch
%Vor%Hinweis: Ich habe hier die Zahlenzeile eingefügt, um die Anzahl und Position der Zeichen zu verdeutlichen
Das Regex-Berechnungsmodell ist so einfach, dass es nicht zählen kann. In Situationen, in denen Sie nur neun mögliche nicht leere Übereinstimmungen haben, können Sie neun separate globale Ersetzungen ausführen, um alle Möglichkeiten abzudecken (Unterstriche _
werden anstelle von Leerzeichen verwendet, um Klarheit zu schaffen):
Jeder Ersetzungsvorgang entspricht einem Komma, einem Leerzeichenpaar, das auf x
Leerzeichen folgt, und ersetzt sie durch 10-x
Leerzeichen.
Vielleicht ist eine Lösung mit einer Programmiersprache besser zu lesen und zu verstehen.
Finden Sie Codebeispiele für PHP
und Python
unten (kann leicht auch in andere Sprachen übernommen werden):
Siehe eine Demo auf ideone.com .
Eine Demo auf ideone.com auch.