Ich versuche, mit den regulären Ausdrücken von ReNamer Ordnernamen umzukehren, die Autorennamen verwenden. Sie sind so eingerichtet LastName, FirstName
und ich muss sie in FirstName LastName
(ohne Komma) ändern.
In ReNamer wird die Verwendung regulärer Ausdrücke als Ausdruck in einer Zeile und Ersetzen in der zweiten eingerichtet. Ich gehe in diesem Fall davon aus, dass zuerst Eingabe und dann Ausgabe erfolgt. Ich habe mehrere Lösungen von hier aus ausprobiert, aber nichts davon hat funktioniert. Ich verstehe die Grundlagen von regulären Ausdrücken kaum, daher bin ich für jede Hilfe sehr dankbar.
Laut dem Programm zum Umbenennen von Dateien und Ordnern, ReNamer, ist Regex die einzige Option unter mehreren, die das tut, was ich brauche. Ich habe den Vorschlag von jemandem von einer anderen Site ausprobiert. In die Ausdruckszeile habe ich eingegeben und ([^,]*), (.)
dann in die Ersetzungszeile \2 \1
. Das Ergebnis hat sich Duncan, Dave
in geändert 2 1
.
Antwort1
Ich kenne ReNamer nicht, aber mit der Regex-Logik sollte dies funktionieren:
From: "^([^,]*), (.*)"
To : "\2 \1"
Erläuterung:
- initial
^
bedeutet „Beginn des Ausdrucks“ - Die
()
Klammern geben Teile des Ausdrucks an, die zu merken sind und bei der Ersetzung als\1
und verwendet werden können\2
. [^,]*
passt zu allen Zeichen bis zum Komma, jedoch nicht einschließlich (das^
bedeutet in diesem Kontext „nicht übereinstimmend“).*
stimmt mit allen verbleibenden Zeichen überein- der erste eingeklammerte Ausdruck ist Ihr
LastName
und der zweite eingeklammerte Ausdruck ist IhrFirstName
Antwort2
Du solltest das tun:
:%s/\(^.*\,*\).*\(\,.*$\)/\2 \1/g
Denken Sie daran, dass einige Satzzeichen \
in VI/VIM vorher hinzugefügt werden müssen.
Ausgabe:
, Vorname Nachname