Löschen außer die ersten x Zeichen


#1

Hallo,

Ich hoffe sehr, dass diese Frage hier nicht schonmal gestellt wurde, die Suchfunktion hat mir nichts geliefert.

Ist es möglich, in einem Feld alle Zeichen bis auf die erste x Zeichen zu löschen?

Aus

Kantate 001 - Wie schön leuchtet der Morgenstern

würde dann z.B.

Kantate 001

Danke, Julius

PS: Vielen Dank für dieses geniale Programm!!


#2

Hallo Julius,

diese Aktion löscht alles nach dem 11. Zeichen im TITLE Feld:

Aktionstyp: Tag-Felder formatieren
Feld: TITLE
Formatstring: $left(%title%,11)

Viele Grüße,
Florian


#3

Frage:
Wie verhält sich das wenn es unterschiedliche längen hat?
Ist ja in den meisten fällen so, das (wie in diesem Beispiel) der Interpret mehr oder weniger als 11 Zeichen hat.

Wie ich in einem anderen Thread gepostet habe
/t/5245/1

Alles soll weg ausser das was in der Klammer steht: Abba/Waterloo(POP)
und am besten wäre es, wenn die Klammer danach auch noch weg ist.

Wo finde ich eigenlich die Zeichenerklärung wie in diesem Beispiel aus diesem Thread
[/i] $left(%title%,11)
Das eine oder andere erklärt sich zwar aber im Zusammenhang sieht das wohl ganz anders aus.

Ich habe leider die Logik der "Sprache" noch nicht verstanden.

Bzw. Was mache ich falsch
Diesen Befehl habe ich aus http://help.mp3tag.de/de/options_converter.html

Dateiname - Dateiname
Maske über altem Dateinamen
Der Formatstring gibt an, nach welchem Muster ein Basis-Dateiname aufgebaut ist. Der Formatstring wird nach der folgenden Syntax aufgebaut:

%1 erster Teil
%2 zweiter Teil
...
%9 letzter Teil

Maske über neuem Dateinamen
Der Formatstring gibt an, nach welchem Muster ein Ziel-Dateiname aufgebaut ist. Die Teilstrings, die in der Maske über dem alten Dateinamen definiert wurden, werden hier nun in neuer Reihenfolge zusammengefügt.


Als Interpret stehtin diesem Beispiel. AFTER WE MET (RUMBA 29 TM)
Ich möchte aber nur das stehen haben: RUMBA 29 TM



#4

Hallo,

die Skriptbefehle (z.B. den von Florian verwendeten) findest du hier.

Das Prinzip mit der Maske kannst du nur im Konverter Dateiname-Dateiname verwenden
(Da würde prinzipiell dann auch
Maske alt: %1 (%2)
Maske neu: %2
ausreichen.)

Für dein Problem benutzt du am besten die Aktion "Ersetzen mit regulärem Ausdruck" (Ich kann dir leider keine Lösung bieten, die Regeln stehen aber hier.)
Alternativ könntest du auch mit den Skriptbefehlen nur den rechten Teil des Interpreten nehmen:
$right(%artist, ...) und dann die entsprechende Anfangsposition mit $strstr(%artist%, '(') suchen.
In etwa $right(%artist%,$sub($len(%artist),$strstr(%artist%, '('))
(Der dürfte allerdings nicht die Klammern wegmachen. Zum Ausprobieren am besten in die Formatstringzeile vom Konverter Tag-Dateiname kopieren. Da hat man eine Vorschau.)

mfG
gnor


#5

dem obigen Formatstring folgend, müßte eigentlich
$left(%title%,$len(%title%)-5)
die letzten 5 Zeichen aus einem Title entfernen, funktioniert aber nicht, es bleibt alles stehen.
Was ist da falsch ?

Zum Beispiel
Quando Quando Quando 1966
es soll die Jahreszahl inklusive des voranstehenden Leerzeichen entfernt werden.

Danke und und ein frohes Osterfest


#6

Hallo Harro, ich gehe 'mal davon aus, dass du als Mp3tag Veteran (Joined: 11-April 05) Bescheid weißt, wo die Skriptbefehle im Hilfe Manual zu finden sind.
Also schaue dort nach, wie in der Mp3tag Skriptsprache mathematische Funktionen bereitgestellt sind und verwendet werden müssen.

DD.20110422.1222.CEST


#7

Das "-5" müsste mit der Funktion
$sub(x,y)
berechnet werden (nur so als Hilfe wg. DetlevDs Hinweis)


#8

Hallo ohrenkino,
danke für den Hinweis, so konnte ich gezielt in der Hilfe suchen und brauchte nicht erst alles durchlesen.