STRG-F Ersetzen, "Dritten Buchstaben löschen"?
Guten Tag!
Bekanntermaßen kann man mittels STRG-F nach bestimmten Angaben Texte durchsuchen.
Wenn ich nun den Text
ABC1234A
ABC1424
ABC1224B
ABC1234C
habe, könnte ich mit STRG-F[ABC*****] alle 8-Zeichenlängen durchsuchen.
Was muss ich nun in die Ersetzen-Zelle eingeben, falls ich z.B. den jeweils letzten Buchstaben löschen möchte? (→ ABC1234, ABC1424, ABC1224...)
Ersetzen[ABC**** ] (mit einem Leerzeichen am Ende) funktioniert, schlecht, da dann alle Zellen in ABC**** umbenannt werden.
Vielen Dank!
2 Antworten
Das ist relativ einfach in VSCode, wenn man weiß wie reguläre Ausdrücke funktionieren. Du kannst https://vscode.dev/ aufrufen und dann eine neue Datei öffnen (New File > Text File). Dort kannst du deinen Text einfügen, dann Strg + H drücken und das Symbol rechts im Suchfeld aktivieren .*
Um den dritten Buchstaben in jeder Zeile zu löschen, kannst du das hier eingeben:
__________________________________________
Was muss ich nun in die Ersetzen-Zelle eingeben, falls ich z.B. den jeweils letzten Buchstaben löschen möchte? (→ ABC1234, ABC1424, ABC1224...)
Wenn du in jeder Zeile, die genau 8 Zeichen enthält, das letzte Zeichen löschen möchtest, kannst du das eingeben:


Zur Erklärung:
Der Punkt . steht bei regulären Ausdrücken für ein einzelnes, beliebiges Zeichen. Acht Punkte ........ sind also acht aufeinanderfolgende, beliebige Zeichen. Das Zeichen ^ markiert den Zeilenanfang und das Zeichen $ markiert das Zeilenende. ^........$ bedeutet also, das in der gesamten Zeile genau acht (beliebige) Zeichen stehen.
Auf diese Weise kann ich alle Zeilen finden, in denen genau acht Zeichen stehen. Ich möchte diese acht Zeichen dann ersetzen mit den ersten sieben Zeichen (also anders ausgedrückt das achte Zeichen löschen).
Damit ich die ersten sieben Zeichen im Ersetzen-Feld referenzieren kann, verwende ich die runden Klammern um sie als Gruppe zusammenzufassen. Deshalb befinden sich die ersten sieben Punkte innerhalb der runden Klammern und der letzte steht außerhalb der runden Klammern: ^(.......).$
Auf solche Gruppen kann man dann später im Ersetzen-Feld mit $1, $2, $3, usw. Bezug nehmen. Da ich hier nur eine einzige Gruppe verwende, wird diese mit $1 bezeichnet.
Die Eingabe ^(.......).$ und $1 bedeutet also, dass die acht Zeichen in der jeweiligen Zeile ersetzt werden durch das was in den runden Klammern steht, also durch die ersten sieben Zeichen, und somit das letzte Zeichen gelöscht wird.
Es gibt auch viele Webseiten, auf denen man reguläre Ausdrücke ausprobieren und lernen kann z.B. https://regex101.com/.
Ich weiß ja nicht, von welchem Programm du sprichst, aber in Word gibt es eine Funktion "Suchen-Ersetzen", aber in einem Schritt würde das hier nicht gehen