Klammern mit Inhalt raus


#1

Hallo zusammen, ich hätte gerne Hilfe bei einer RegExpr, wäre toll wenn sich einer von euch "Wissenden" erbarmen könnte... ich brauch nur die eine....

Und zwar geht es um Titel wie "01 - Nightclub - French Kiss (DJ Scot Project Mix).mp3"
Ich hätte dabei gerne den Ausdruck gewusst um einfach die Klammern mit Inhalt zu erkennen (und durch nichts zu erstetzen).
Wobei folgende Klammerfälle auch abgefangen werden sollten wie z.B.:
(einwort)
(mehrere Worte)
(worte + Sonderzeichen)
Einfach eben alles egal was zwischen den Klammern steht.

Vielen Dank für eure Hilfe!


#2

Spontan würde ich das nehmen:
^(.?)\s(.?(.mp3)
$1$2

geht nur bei .mp3 dateien, macht aus
01 - Nightclub - French Kiss (DJ Scot Project Mix).mp3
01 - Nightclub - French Kiss.mp3


#3

Wow, erste Tests erbrachten sehr gute Resultate :slight_smile:
Vieeeelen Dank!


#4

Nach viel gesammelter Erfahrung (Jahre später ...)
Könnte an den vielleicht auch noch etwas optimieren?
"Probleme" macht die RegEx nämlich insofern, dass auch aller Text hinter der Klammer entfernt wird.

Wenn ein Track "01 - (More Than) Just A Feeling.mp3" heißt, bleibt leider nur noch "01 - .mp3" übrig.


#5

:astonished:

Klammerausdruck mit möglichen Leerzeichen am Ende entfernen:

RE: (.+)\s*
Ersetzen: Nichts


How to replace pattern in Album tag?
#6

:w00t:

Seeehr gut, der ist auf jeden Fall besser als der alte!
Er schaft:

  • (x) y z
  • x (y) z
  • x y (z)

:book:

Aber wenn ich noch einen drauf setzten dürfte:
Er schafft leider nicht

  • (x) y (z) z.B. (I Fell) In Love (Lovers Remix).mp3

Da bleibt leider gar nichts übrig.

Also 1) entweder beide Klammern weg oder 2) gerne nur die letzte - das wäre mir eigentlich am liebsten.

Tausend Dank an den RegEx-König Dano...


#7

Sicher weiß es Dano, der RegEx-König, aber damit du schnell weitermachen kannst:

Alle Klammern mitsamt Inhalt und umgebende Leerzeichen entfernen:
\s*(.+?)\s*
ersetzen durch Nichts.

Die letzte Klammer mitsamt Inhalt und umgebende Leerzeichen entfernen:
^(.+?)\s*(.+?)\s*$
ersetzen durch $1

DD.20080904.1028.CEST


#8

DetlevD das funktioniert nicht, beim ersten werden zuviele Leerzeichen entfernt und beim zweiten nicht die Dateiendung berücksichtigt.
Ich hoffe das funktioniert:

Variante 1)

RE: \s*(.+?)
Ersetzen: Nichts

Variante 2)
\s*([^)]+)([^(]*.\w{2,4})$
Ersetzen: $1


#9

:astonished: Dano, dabei hatte ich doch genau passende Ergebnisse erhalten mit dem Teststring '(x) y (z)', das muss ich mir also nochmal anschauen, ... ich glaube, die Mp3tag Sommerpause war einfach zu lang ... :slight_smile:.

DD.20080904.1850.CEST


#10

Hi.

Ich habe ein ähnliches Problem und kann da nicht die Lösung für finden.

Ich habe mehrere Dateien, die im Titel-Tag [ ] - klammern haben. Ich möchte diese durch ( ) ersetzen.

Geht das, wenn ja, wie?