PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Reguläre Ausdrücke


Torsten
13.03.2010, 08:51
Ich habe einige Dateien die wie folgt benannt sind:

01_INTERPRET_-_TITEL_titel.mp3

Nun möchte ich mit Hilfe von Regulären ausdrücken die Dateien umbenennen nach folgendem Schema:

01 Titel Titel.mp3

Das heißt, alle Unterstriche _ sollen durch Leerzeichen ersetzt werden.
Außerdem sollen alle Wörter Einheitlich mit einem großen Anfangsbuchstaben und der Rest des Wortes in Kleinbuchstaben geschrieben werden.

Wenn das Möglich sein sollte, dann hätte ich gern den Interpreten eliminiert d.h. es sollte nur noch die Tracknummer und der Titel im Dateinamen übrig bleiben.

phpBuddy
13.03.2010, 09:26
Hallo Torsten,

da sind noch einige Fragen offen.
Soll die Umbenennung mit einem bestimmten Programm gemacht werden oder wieso steht das nicht im PHP Bereich? Ich frage deswegen, weil ich das nicht mit RegEx machen würde. Falls aber kein PHP verwendet wird, nutzt der RegEx-lose weg ja nichts, weil keine PHP Funktionen zur Verfügung stehen. ;)

Wieso soll der Titel zweimal im Dateiname vorkommen?
Sind die Namen immer so aufgebaut, also Leerzeichen mit Underscore dargestellt? Interpret könnte dann ja aus mehreren Wörtern bestehen, was man bei der Verarbeitung mit einem Array berücksichtigen muss.

Falls das mit PHP gemacht werden kann, wären 2 oder 3 echte Titel sinnvoll, die optimalerweise eine variable Länge/Anzahl an Interpret/Titel haben.

Torsten
13.03.2010, 10:00
Hallo Andreas,

ich habe es wohl wissentlich in den Off Topic Bereich geschrieben, da ich die Umbenennung mit einem Programm vornehmen möchte.
Da in PHP auch Reguläre Ausdrücke Verwendung finden, dachte ich hier könnten Leute sein die mir da weiter helfen können ;)

Okay, die Plattform ist Mac OS und das Programm heißt Renamer4Mac (http://freewareosx.wordpress.com/2005/10/15/renamer4mac-umbenennen-nach-allen-regeln/) und integriert sich in den Finder (Äquivalent zum Windows-Explorer)

Bei dem Titel der Lieder habe ich mich vertan, natürlich soll der Titel nicht doppelt da stehen ich wollte damit im Eröffnungsthread einen Titel der aus mehreren Wörtern besteht simulieren ;)

Also so soll es dann aussehen: 01 Hardrock Halleluja.mp3

Falls sich jemand fragt, für was ich das brauche...

Ich bin von einem PC auf einem Mac umgestiegen und benutze nun iTunes. Früher habe ich meine CDs mit einem Exact Audio Copy gerippt und Dateinamen mit Interpret und Unterstrichen generiert. iTunes erkennt aber nun am besten die entsprechende CD wenn die Titel nach dem neuen Schema benannt sind und man kann in den meisten Fällen problemlos das Cover über iTunes laden.

phpBuddy
13.03.2010, 10:15
Hmm, das wird dann so nicht funktionieren, vermute ich. Reguläre Ausdrücke dienen dem erkennen eines bestimmten Musters. Die Ersetzung ist dann wieder eine andere Geschichte.

Hast Du keinen Xampp und somit PHP auf dem Mac laufen? Dann könntest Du kurz die Lieder in einen Ordner schmeissen, PHP drüber jagen und die umbenannten Lieder dort hin kopieren, wo Du sie brauchst.

Torsten
13.03.2010, 10:33
Nein Xampp habe ich nicht laufen, da ich zu 99% Live im Netz teste, war mir immer zu umständlich mehrere Konfigurationen in DW einzurichten ;)

Mir würde es schon reichen wenn ich wüßte wie ich mit RegEx die Unterstriche gegen Leerzeichen austauschen kann ;)
Den Rest kann ich in einem 2. Schritt auch über die normale Funktionalität des Programmes erreichen!

phpBuddy
13.03.2010, 10:57
Mir würde es schon reichen wenn ich wüßte wie ich mit RegEx die Unterstriche gegen Leerzeichen austauschen kann ;)

Wie gesagt, RegEx (Regular Expression = Regulärer Ausdruck) sind Erkennungsmuster, es ersetzt nichts. Man kann Text/Zeichen meinen Wissens nach nicht mit reinem RegEx ersetzen. Das Tool das Du verlinkt hast kann scheinbar auch nur ganz grob/primitiv ersetzen - also nix mit Groß-/Kleinschreibung ändern, Fragmente aus dem String entfernen, usw. Versuch doch mal, wenn Du als Ausdruck nur _ eingibst und als Ersetzung ein Leerzeichen, ob das Tool das macht.

Torsten
13.03.2010, 11:59
Meine Güte, manchmal sieht man echt den Wald vor lauter Bäumen nicht :rolleyes:

Also der Renamer4Mac kann schon einiges mehr, siehe Screenshot.
Aber Danke für den Denkanstoß, ohne Häckchen bei RegEx reicht es aus einfach bei „suchen“ den _ einzutragen und bei „ersetzen“ einfach ein Leerzeichen hinein.

Jetzt frage ich mich allerdings, was man mit RegEx da noch so anstellen könnte... :huh: