Suchen und Ersetzen mit RegExp nur in Teilstring
Moderators: Hacker, Stefan2, white
Suchen und Ersetzen mit RegExp nur in Teilstring
Hallo,
ich möchte im Umbenenn-Tool Zeichen in nur in einem Teil von Datei- oder Ordnernamen ersetzen. Kann dies mit regulären Ausdrücken umgesetzt werden? Z.B.:
"teil1-teil2-teil3_teil4-teil5"
soll umgewandelt werden in:
"teil1 teil2 teil3_teil4-teil5"
D.h. Bindestriche in Leerzeichen umwandeln, aber nur in dem Teil vor dem Unterstrich. Die Zeichenketten teil1, teil2 etc. können unterschiedliche Längen haben.
Würde mich freuen, wenn jemand hierzu eine Idee hätte.
Gruß
Jesco
ich möchte im Umbenenn-Tool Zeichen in nur in einem Teil von Datei- oder Ordnernamen ersetzen. Kann dies mit regulären Ausdrücken umgesetzt werden? Z.B.:
"teil1-teil2-teil3_teil4-teil5"
soll umgewandelt werden in:
"teil1 teil2 teil3_teil4-teil5"
D.h. Bindestriche in Leerzeichen umwandeln, aber nur in dem Teil vor dem Unterstrich. Die Zeichenketten teil1, teil2 etc. können unterschiedliche Längen haben.
Würde mich freuen, wenn jemand hierzu eine Idee hätte.
Gruß
Jesco
Hallo,Stefan2 wrote:Suche und Ersetzte zweimal
das jeweils erste "-" mit " "
bei gesetzter Option "1x"
danke für den Hinweis, hilft mir leider nicht weiter: ich war bei der Problembeschreibung nicht präzise genug: die Zahl der Teilstrings kann auch variieren, z.B.
"teil1-teil2-teil3_teil4-teil5"
"teil1-teil2-teil3-teil4_teil5-teil6-teil7"
Gruß
Jesco
Suchen nach:Ersetzen durch:[x] RegEx
Mehrfach ausführen (<F5>; <Alt+S>) bis im Teil vor dem Unterstrich alle Bindestriche durch Leerzeichen ersetzt sind.
HTH
Holger
Code: Select all
(.*)-(.*)_(.*)
Code: Select all
$1 $2_$3
Mehrfach ausführen (<F5>; <Alt+S>) bis im Teil vor dem Unterstrich alle Bindestriche durch Leerzeichen ersetzt sind.
HTH
Holger
Suchen nach:
Ersetzen durch:
☐ RegEx
-----------------------------
Suchen nach:
Ersetzen durch:
☑ RegEx
Ein Leerzeichen werde am Anfang hinzugefügt wenn es nichts zu ersetzen gibt.
Z.B.:
"teil1_teil2-teil3" -> " teil1_teil2-teil3"
"teil1 teil2 teil3_teil4-teil5" -> " teil1 teil2 teil3_teil4-teil5"
Sie können danach den Leerzeichen am Anfang entfernen, oder vorher nur die relevanten Dateinamen markieren (Dateiart: "<-.*_|^[^_]*$")
Code: Select all
-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*|-*_*
Code: Select all
*| *| *| *| *| *| *| *| *| *| *| *| *| *| *| *| *| *| *| *
-----------------------------
Suchen nach:
Code: Select all
-?([^-_]*_.*)|-
Code: Select all
$1
Ein Leerzeichen werde am Anfang hinzugefügt wenn es nichts zu ersetzen gibt.
Z.B.:
"teil1_teil2-teil3" -> " teil1_teil2-teil3"
"teil1 teil2 teil3_teil4-teil5" -> " teil1 teil2 teil3_teil4-teil5"
Sie können danach den Leerzeichen am Anfang entfernen, oder vorher nur die relevanten Dateinamen markieren (Dateiart: "<-.*_|^[^_]*$")
Hallo,
vielen Dank für die hilfreichen Antworten!
Mit dem Vorschlag von HolgerK ist es schon gut machbar, aber mit den Ideen von white geht es sogar in einem Durchgang.
Bei diesem Ausdruck ist mir nicht vollständig klar, was passiert:
Gruß
Jesco
vielen Dank für die hilfreichen Antworten!
Mit dem Vorschlag von HolgerK ist es schon gut machbar, aber mit den Ideen von white geht es sogar in einem Durchgang.
Bei diesem Ausdruck ist mir nicht vollständig klar, was passiert:
Ist das '?' hier der 'Genügsam'-Operator? Ich dachte, der müsste stets einem Iterator folgen.white wrote:Code: Select all
-?([^-_]*_.*)|-
Gruß
Jesco
Eine Erklärung in der Hilfe fehlt aber Sie können es auf der Website des Regex-Bibliothek nachsuchen.Jesco wrote:Bei diesem Ausdruck ist mir nicht vollständig klar, was passiert:Ist das '?' hier der 'Genügsam'-Operator? Ich dachte, der müsste stets einem Iterator folgen.white wrote:Code: Select all
-?([^-_]*_.*)|-
Das "?" ist zu verhindernhttp://www.regexpstudio.com/TRegExpr/Help/RegExp_Syntax.html wrote: * zero or more ("greedy"), similar to {0,}
+ one or more ("greedy"), similar to {1,}
? zero or one ("greedy"), similar to {0,1}
"teil1_teil2-teil3-teil4" wird "teil1_teil2 teil3 teil4"
oder
"teil1 teil2_teil3-teil4-teil5" wird "teil1 teil2_teil3 teil4 teil5"