RegEx + Wissen deel van een bestandsnaam tussen haakjes

Moderated forum for Dutch users

Moderators: white, Rein de Jong

Post Reply
User avatar
Marieke
Junior Member
Junior Member
Posts: 69
Joined: 2006-05-17, 18:55 UTC
Location: Alkmaar
Contact:

RegEx + Wissen deel van een bestandsnaam tussen haakjes

Post by *Marieke »

Ik zoek al langere tijd naar een oplossing om bij meerdere bestanden de jaartallen tussen haakjes te wissen. Het resultaat is steeds dat alle getallen en haakjes worden gewist. Bijv. Hier wil ik de jaartallen + haakjes uit verwijderen. Het jaartal komt willekeurig in de bestandsnaam voor.

Gebeurtenissen (2003) - 1234.txt
Ander bestand xxx (2016).txt
Tekst uit (1985) yyy.txt

Ik heb hier al zolang naar gezocht en ben benieuwd of het mogelijk is.
De bestandsnaam opdelen in groepen is mij bekend en heb daar al heel veel plezier van! Maar is in dit geval niet toepasbaar?.
Groetjes - Marieke P. - #117942
User avatar
silencer
Senior Member
Senior Member
Posts: 208
Joined: 2003-05-13, 13:18 UTC
Location: The Netherlands

Post by *silencer »

Ik ben niet zo'n regex wonder, dus ik moet het ook maar van voorbeelden doen, maar misschien helpt het.

Het moet ook vast met de haakjes "(" en ")" kunnen, maar dat krijg ik niet voor elkaar.

Als je eerst de "(" vervangt voor "[" en ")" voor "]"

Dan kan je in de multi rename tool zoeken naar:

Code: Select all

 \[(.*?)\]
Vervangen door niets.

met het regex checkboxje aan.

Code: Select all

"h:\T\t1\Ander bestand xxx [2016].txt" -> "Ander bestand xxx.txt"
"h:\T\t1\Gebeurtenissen [2003] - 1234.txt" -> "Gebeurtenissen - 1234.txt"
"h:\T\t1\Tekst uit [1985] yyy.txt" -> "Tekst uit yyy.txt"
"h:\T\t1\test [265].txt" -> "test.txt"
User avatar
Marieke
Junior Member
Junior Member
Posts: 69
Joined: 2006-05-17, 18:55 UTC
Location: Alkmaar
Contact:

Post by *Marieke »

Oké - Bedankt, door meer voorbeelden te hebben kan ik ook zelf meer oplossingen zoeken. Dit werkt i.i.g. ook al moet ik een extra handeling verrichten.
Beide haakjes tegelijk vervangen kan zonder RegEx:
Zoeken: ( | )
Vervang: [ | ]
zonder spaties!
Groetjes - Marieke P. - #117942
User avatar
Stefan2
Power Member
Power Member
Posts: 4124
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

VAN:
Ander bestand xxx (2016) .txt
Gebeurtenissen (2003) - 1234.txt
Tekst uit (1985) yyy.txt

TOT:
Ander bestand xxx.txt
Gebeurtenissen - 1234.txt
Tekst uit yyy.txt


Zoek haakjes met 4 cijfers.
Daarom moet u de haakjes ontsnappen aangezien zij RegEx-metatekens zijn >>> \( en \)

Zoek: ' \(\d\d\d\d\)'
-of-
Zoek: ' \(\d{4}\)'
Vervang: niets
[X] RegEx

Let op de leidende ruimte om ook de woordafbalk te verwijderen. >> ' <RUIMTE> \(\d{4}\)'


- - -


FROM:
Ander bestand xxx (2016).txt
Gebeurtenissen (2003) - 1234.txt
Tekst uit (1985) yyy.txt

TO:
Ander bestand xxx.txt
Gebeurtenissen - 1234.txt
Tekst uit yyy.txt


Look for parentheses with 4 digits.
Therefor you have to escape the parentheses as they are RegEx meta-signs >>> \( and \)

Search: ' \(\d\d\d\d\)'
-or-
Search: ' \(\d{4}\)'
Replace: nothing
[X]RegEx

Please note the leading space to remove the word delimiter also >> ' <SPACE> \(\d{4}\)'






 
User avatar
Marieke
Junior Member
Junior Member
Posts: 69
Joined: 2006-05-17, 18:55 UTC
Location: Alkmaar
Contact:

Post by *Marieke »

Bedankt voor deze voorbeelden! Het werkt en ik kan ze ook voor andere acties gebruiken. Ik dacht dat ik gebonden was aan de [] haakjes. Ik wist wel dat de () haakjes gereserveerd waren en heb diverse variaties geprobeerd met '' e.d. maar lukte niet. Uit alle gebruikershandleidingen op dat gebied raak ik maar niet wijs omdat er zelden voorbeelden bij staan (behalve bij de makkelijke codes). Nou, ja... zo komen we er ook!
Groetjes - Marieke P. - #117942
User avatar
silencer
Senior Member
Senior Member
Posts: 208
Joined: 2003-05-13, 13:18 UTC
Location: The Netherlands

Post by *silencer »

hmm, zie nu ook dat " \((.*?)\)" ook werkt... Nouja, we komen er wel idd.
User avatar
Stefan2
Power Member
Power Member
Posts: 4124
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

" \((.*?)\)"

Ja: " \(. *? \)" vindt (...) haakjes letterlijk.
En uw binnenste (...) haakjes zullen vastleggen voor $ 1 of \ 1 hergebruik.
Maar we hoeven niet vast te leggen en opnieuw te gebruiken, dus je hoeft alleen maar de wedstrijd vast te en te laten vallen.




Proberen

Zoek: ' \((\d\d\d\d)\)'
Vervang: niets
[X] RegEx

en




Zoek: ' \((\d\d\d\d)\)'
Vervang: $1
[X] RegEx

krijgen

Tekst uit 1985 yyy.txt
Ander bestand xxx 2016 .txt
Gebeurtenissen 2003 - 1234.txt

goed om het jaar te extraheren en de haakjes te laten vallen :D



Geef alstublieft de google voor de vertaling :cry:
Post Reply