Versuchen Sie es mit TextPad. Sie können Makros aufzeichnen und dann wiedergeben. Zeichnen Sie also auf, was Sie für die erste Zeile tun möchten, und nachdem Sie die erste Zeile abgeschlossen haben, lassen Sie den Cursor am Anfang der nächsten Zeile. Dann spielen Sie einfach das Makro bis zum Ende der Datei. Oder halten Sie einfach die Wiedergabemakrotaste gedrückt.
Notepad ++ Beim Versuch, ein Zeichen nach NUR dem ersten Leerzeichen in jeder Zeile hinzuzufügen
Ich habe 30.000 Textzeilen, die eine beliebige Anzahl von Leerzeichen enthalten. Ich muss nur den ersten Leerzeichen in jeder Zeile mit einem Zeichen versehen. Jeder, der etwas vorschlagen kann, wäre sehr dankbar.
2 Antworten auf die Frage
Sie suchen nach regulären Ausdrücken. Als Erstes sollten Sie Ihre Suche in reguläre Ausdrücke umwandeln
Freude, weil ich glaube, ich weiß genau, wie ich das lösen kann
https://regex101.com/r/aW4gG2/1
Der gewünschte Ausdruck ist:
Suchen: (^.*?)( )
Ersetzen:\1#\2
Die Art und Weise, wie dies funktioniert, ist wie folgt in regulären Ausdrücken das ()
Mittel "erfassen". Das bedeutet, dass diese hochspezifische Gruppe gefunden wird, und Sie können sie dann in der Ersetzung mit \ 1 oder \ 2 oder \ 3 referenzieren. Die Nummer beginnt bei 1 und Sie zählen von der offenen Paranthesis aus
^
bedeutet, am Anfang der Zeile zu beginnen. (Weil Sie möchten, dass Ihr Insert den ERSTEN Platz abdeckt, suchen wir von vorn den ersten Platz.)
.*?
Dieser Teil findet das erste Wort vor dem Leerzeichen. Dies geschieht, indem Sie in einer Gruppe ein beliebiges Zeichen ( .
) so viele wie möglich machen ( *
), aber die wenigsten, die erforderlich sind ?
. Ohne das Fragezeichen erfassen Sie einfach alle Zeichen (einschließlich aller Leerzeichen).
( )
Dieser Teil bedeutet, dass unsere zweite Gruppe das Leerzeichen nach dem ersten ist. Dies sollte der erste Raum sein. Dies ist, was wir unseren Charakter einfügen wollen.
Die Vertretung
\1#\2
\1
bezieht sich auf den ersten Zeichensatz. Und das *
im Ausdruck bedeutet, dass der Zeichensatz ein beliebiges Wort einschließlich 0 sein kann.
#
ist das Einfügungszeichen
\2\
ist natürlich der Raum.
Das Ergebnis ist ein #
Platz vor jedem ersten Platz. Wenn Sie es nach dem ersten Leerzeichen wünschen, müssen Sie lediglich die Substitution anpassen
\1\2#
wird das #
nach jedem ersten Leerzeichen pro Zeile setzen.
Dies ist die Kraft regulärer Ausdrücke. Ein einfaches Suchen und Ersetzen kann das Einfügen präziser durchführen als jedes Makro. Es ist flexibel, es ist schnell und die meiste Zeit ist es nicht so schwer.
Hier ist ein großartiges Starter-Tutorial, das erklärt, was RegEx ist und warum es nützlich ist. [ RegExOne ]. REO ist derjenige, der mich zum Verstehen gebracht hat
Dies ist ein Tutorial, das viele Leute empfehlen, dass ich ehrlich gesagt nicht viel verstehen konnte. [ RegEx.Info ]
Ich bin eigentlich nie wieder zu RegEx.info zurückgegangen. Ich bin direkt in Notepad ++ Dokumentation gesprungen, was an dieser Stelle eigentlich sehr hilfreich war. Das kann man natürlich mit [ RegEx101 ] testen . Das einzige, was Sie tun möchten, ist das Hinzufügen /gm
des Ausdrucks. Dann können Sie einfach ein Snippet in den TestString einfügen und so lange üben, bis Sie es richtig verstanden haben.
Verwandte Probleme
-
12
Warum wird der Ordner / winsxs so groß und kann er verkleinert werden?
-
2
Erhöhte Berechtigungen für Startanwendungen in Windows?
-
14
PDF Viewer unter Windows
-
7
Welche Windows-Dienste kann ich sicher deaktivieren?
-
8
Firefox PDF-Plugin zum Anzeigen von PDF-Dateien im Browser unter Windows
-
1
Windows verliert das Bildschirmlayout
-
1
Gibt es eine Möglichkeit, Installationen / Updates zu verhindern, die meine Festplatte mit kryptisch...
-
1
Wie kann ich von Ubuntu aus über das Netzwerk auf Windows Vista-Drucker zugreifen?
-
6
Log Viewer unter Windows
-
3
Windows-Hintergrundproblem mit zwei Bildschirmen