Zeilen in TAG mit Singtext löschen

Hallo!

Ich nutze MP3-Tag gerade, um Songtexte aus einem vorhandenen TAG (LYRICS) in einen anderen TAG (UNSYNCLYRICS) zu übertragen. Dies funktioniert auch über die Aktionen wunderbar. Leider liegen die Songtexte so vor, dass am Anfang jedes Songtexts 3 Zeilen mit Künstler, Titel und Album gefolgt von einer Leerzeile stehen bevor der eigentliche Songtext anfängt. Diese Angaben halte ich für überflüssig und möchte nur diese 4 ersten Zeilen löschen.

Was ich habe:
eng||Artist: x
Album: y
Title: z

Songtextanfang

Was ich möchte:
eng||Songtextanfang

Ich habe nun schon 3 Tage in Folge erfolglos versucht, dies mit einer (oder mehreren) Aktionen mit "Ersetzen mit regulärem Ausdruck", der Hilfe, dem Forum und Google umzusetzen, bin aber leider nicht weitergekommen.

Nun hoffe ich, das hier eventuell jemand weis, wie man das umsetzen kann.

Vielen Dank!

Wenn dein Beispiel stimmt, dann versuche diesen Ausdruck:
eng||.\r\n.\r\n.\r\n\r\n(.)
ersetzen mit:
eng||$1

(besser erst mal nur an einer Datei ausprobieren)

Hallo!

Vielen Dank für deine schnelle Antwort. Ich habe das eben mal schnell ausprobiert. Es werden nun die Zeilen mit Artist usw. gelöscht, aber leider auch noch mehr, also zu viel, so das der Songtext nicht mehr vollständig ist. Kann man dort nicht einen "Stopp" für den Löschbereich setzen, der nach der ersten leeren Zeile im gesamten Songtext schaut? Dies würde den Code auch ermächtigen, Songtexte zu korrigieren, bei denen der Header nicht immer aus 3 Zeilen besteht.

Vielen Dank!

Wenn die Leerzeile das begrenzende Muster ist, müsste dieser Ausdruck funktionieren:

.\r\n\r\n(.)
Ersetzen mit
$1

Also ich habe den Code ( .\r\n\r\n(.) ) probiert. Das Ergebnis ist, das zu viel gelöscht wird.

Dies ist der Inhalt des Feldes UNSYNCEDLYRICS vor der Anwendung der Aktion (Songtext verfremdet):
[Inhalt Anfang]
eng||Artist: prename surname
Album: albumname
Title: aaa bbb ccc ddd eee fff ggg hhh

bryssyb äp fjr x bzg bxty
qzky wxqqjwyyg bxy bät zt wxs Fjärtw jf Jäqy gjw
x cxr crxsw wztw x säztcxsy xgb x pxzgtyb fxcy
Swy wxs jgy jf x kzgb
Swy wyxrs x pqxstzc crjwg qzky Czgbyryqqx
xgb rjqqyr skxtys zg byb

Crxsw rzbys twy gryywjägb frjm wzs wjmytjwg
Wwyg wy cjmys xrjägb 'cxäsy twyy bjg't qyt wzm brzvy gjw
Mzxyb äp xs x mzqkswxky
Bät mxky gj mzstxky
Twyy'ry swjjtzgg fjr twy stxrs

Chorus:
Yjä xgb my
Wy'ry zgvzgczbqy tjgytwyr
Wy cxg by sj trxgzcxq, wwxtyvyr
bryssyb äp jäst qzky zzggy bät wy cjäqbg't pqxy gäztxr
Cxptxzg Crxsw xgb twy byxäty qäyyg frjm mxrs

Swxry x tjjtwpzck, trxbzgg qzpstzck
Wxtcwzgg trxffzc fjr bxys xt twy bzgyr
wjqbzgg wxgbs, mxkzgg bzg pqxgs
Pqxyzgg Säpyrmxg, wy wxs wyxrzgg yyyqzgyr
xgjtwyr qjcxq qygygb xgb wzs qjggtzmy qäcky cwxrm

Chorus:
Yjä xgb my
Wy'ry zgvzgczbqy tjgytwyr
Wy cxg by sj trxgzcxq, wwxtyvyr
bryssyb äp jäst qzky zzggy bät wy cjäqbg't pqxy gäztxr
Cxptxzg Crxsw xgb twy byxäty qäyyg frjm mxrs

Twyy'ry brägk jg qjvy xs yjä cxg gyt
Gyttzgg wzgw jg qäst xgb czgxryttys
qzvzgg qzfy wztw gj rygryts
xt qyxst twyy'ry gjggx try tj fqy

Chorus:
Yjä xgb my
Wy'ry zgvzgczbqy tjgytwyr
Wy cxg by sj trxgzcxq, wwxtyvyr
Wy'ry Szb xgb gxgcy
Fryb xgb Gzggyr
Cqyby xgb Bjggzy
qzz xgb Rzcwxrb
Kärt xgb Cjärtgyy
Bxcxqq xgb Bjgzy
Jjqtzg' Jjy xgb Ms. Mjgrjy
wyry's cxptxzg crxsw xgb twy byxäty qäyyg frjm Mxrs
[Inhalt Ende]

So sieht der Songtext nach Anwendung der Aktion aus:
[Inhalt Anfang]
eng||Chorus:
Yjä xgb my
Wy'ry zgvzgczbqy tjgytwyr
Wy cxg by sj trxgzcxq, wwxtyvyr
Wy'ry Szb xgb gxgcy
Fryb xgb Gzggyr
Cqyby xgb Bjggzy
qzz xgb Rzcwxrb
Kärt xgb Cjärtgyy
Bxcxqq xgb Bjgzy
Jjqtzg' Jjy xgb Ms. Mjgrjy
wyry's cxptxzg crxsw xgb twy byxäty qäyyg frjm Mxrs
[Inhalt Ende]

Wie man sieht, wird zu viel gelöscht, es funktioniert also leider noch nicht richtig. Gibt es alternativ die Möglichkeit, nur die komplette Zeile in der Artist vorkommt, zu löschen? Dies könnte man dann ja wiederholen für Title und Album und hätte die 3 Zeilen schonmal entfernt, dann wäre nur noch die allererste Leerzeile zu entfernen.

Was ich möchte ist:
[Inhalt Anfang]
eng||bryssyb äp fjr x bzg bxty
qzky wxqqjwyyg bxy bät zt wxs Fjärtw jf Jäqy gjw
x cxr crxsw wztw x säztcxsy xgb x pxzgtyb fxcy
Swy wxs jgy jf x kzgb
Swy wyxrs x pqxstzc crjwg qzky Czgbyryqqx
xgb rjqqyr skxtys zg byb

Crxsw rzbys twy gryywjägb frjm wzs wjmytjwg
Wwyg wy cjmys xrjägb 'cxäsy twyy bjg't qyt wzm brzvy gjw
Mzxyb äp xs x mzqkswxky
Bät mxky gj mzstxky
Twyy'ry swjjtzgg fjr twy stxrs

Chorus:
Yjä xgb my
Wy'ry zgvzgczbqy tjgytwyr
Wy cxg by sj trxgzcxq, wwxtyvyr
bryssyb äp jäst qzky zzggy bät wy cjäqbg't pqxy gäztxr
Cxptxzg Crxsw xgb twy byxäty qäyyg frjm mxrs

Swxry x tjjtwpzck, trxbzgg qzpstzck
Wxtcwzgg trxffzc fjr bxys xt twy bzgyr
wjqbzgg wxgbs, mxkzgg bzg pqxgs
Pqxyzgg Säpyrmxg, wy wxs wyxrzgg yyyqzgyr
xgjtwyr qjcxq qygygb xgb wzs qjggtzmy qäcky cwxrm

Chorus:
Yjä xgb my
Wy'ry zgvzgczbqy tjgytwyr
Wy cxg by sj trxgzcxq, wwxtyvyr
bryssyb äp jäst qzky zzggy bät wy cjäqbg't pqxy gäztxr
Cxptxzg Crxsw xgb twy byxäty qäyyg frjm mxrs

Twyy'ry brägk jg qjvy xs yjä cxg gyt
Gyttzgg wzgw jg qäst xgb czgxryttys
qzvzgg qzfy wztw gj rygryts
xt qyxst twyy'ry gjggx try tj fqy

Chorus:
Yjä xgb my
Wy'ry zgvzgczbqy tjgytwyr
Wy cxg by sj trxgzcxq, wwxtyvyr
Wy'ry Szb xgb gxgcy
Fryb xgb Gzggyr
Cqyby xgb Bjggzy
qzz xgb Rzcwxrb
Kärt xgb Cjärtgyy
Bxcxqq xgb Bjgzy
Jjqtzg' Jjy xgb Ms. Mjgrjy
wyry's cxptxzg crxsw xgb twy byxäty qäyyg frjm Mxrs
[Inhalt Ende]

In der Hoffnung, dass jemand hier weiß, wie man das bewerkstelligt, schonmal vielen Dank im Voraus.

Vielleicht hilft dann zumindest ansatzweise eine Aktion vom Type
"Tag-Feld formatieren" für UNSYNCEDLYRICS
Nimm als Format-String:

$mid(%unsyncedlyrics%,$strstr(%unsyncedlyrics%,$char(13)$char(10)$char(13)$char(10)),$len(%unsyncedlyrics%))

Dies schneidet alles ab, was vor der ersten Leerzeile ist. Das "eng||" müsstest du dann in einer zweiten Aktion "Tag-Feld formatieren" für UNSYNCEDLYRICS mit Format-String "eng||%unsyncedlyrics%"

Aktion: Tag-Feld formatieren Feld : UNSYNCEDLYRICS Formatstring: $regexp(%UNSYNCEDLYRICS%,'^(eng\|\|).+?(\r\n){2}','$1') ... oder ... Formatstring: $regexp(%UNSYNCEDLYRICS%,'^eng\|\|.+?\r\n\r\n','eng||') ... oder ... Formatstring: $regexp(%UNSYNCEDLYRICS%,'^.+?\r\n\r\n','eng||') ... oder ... Formatstring: 'eng||'$cutLeft(%UNSYNCEDLYRICS%,$add(3,$strstr(%UNSYNCEDLYRICS%,$char(13)$char(10)$char(13)$char(10)))) Von: eng||Artist: xAlbum: yTitle: zSongtextanfang Zu: eng||Songtextanfang

DD.20140724.1301.CEST