Eckige Klammern entfernen incl. Inhalt und Leerzeichen


#1

Ich habe in etlichen UNSYNCEDLYRICS-Tags nicht nur Texte sondern auch Akkordbezeichnungen in den Text eingebettet. Diese Akkordbezeichnungen möchte ich gerne loswerden.
Sie stehen in eckigen Klammern.
Zu löschen wären also sowohl die eckigen Klammern selbst als auch der Inhalt und 1 Leerzeichen das zuviel ist (es befindet sich ja eins vor und eins hinter der Klammer).


#2

Leider steht kein Beispiel-String da.

$regexp('abs def [gh] hij','[.+] ',)
führt zu
"abs def hij"


#3

Die Strings sind ja in jedem File unbterschiedlich.
Hier ein Beispiel: XXX||[G]Twas in eighteen hundred and [D] fifty-[G] three

And of [C] June the [G] thirteenth [D] day,
That our [G] gallant ship her [C] anchor weighed,
And for [G] greenland [D] bore a [G] way, brave boys,
And for greenland [D] bore a [G] way.

#4
QUOTE (poster @ Feb 3 2017, 08:09) <{POST_SNAPBACK}>
Die Strings sind ja in jedem File unbterschiedlich.

Hier ein Beispiel: XXX||[G]Twas in eighteen hundred and [D] fifty-[G] three

And of [C] June the [G] thirteenth [D] day,
That our [G] gallant ship her [C] anchor weighed,
And for [G] greenland [D] bore a [G] way, brave boys,
And for greenland [D] bore a [G] way.<!--QuoteEnd--></div><!--QuoteEEnd-->

Da wäre dann vielleicht dies besser:
$regexp('XXX||[G]Twas in eighteen hundred and [D] fifty-[G] three And of [C] June the [G] thirteenth [D] day, That our [G] gallant ship her [C] anchor weighed, And for [G] greenland [D] bore a [G] way, brave boys, And for greenland [D] bore a [G] way.','[.?+] ',)
Das führt zu

"XXX||[G]Twas in eighteen hundred and fifty-three And of June the thirteenth day, That our gallant ship her anchor weighed, And for greenland bore a way, brave boys, And for greenland bore a way."

die erste [] bleibt drin, weil kein Blank dahinter folgt.


#5
QUOTE (poster @ Feb 3 2017, 08:09) <{POST_SNAPBACK}>
Die Strings sind ja in jedem File unbterschiedlich. Hier ein Beispiel: XXX||[G]Twas in eighteen hundred and [D] fifty-[G] three
And of [C] June the [G] thirteenth [D] day,
That our [G] gallant ship her [C] anchor weighed,
And for [G] greenland [D] bore a [G] way, brave boys,
And for greenland [D] bore a [G] way.<!--QuoteEnd--></div><!--QuoteEEnd-->

$regexp(%UNSYNCEDLYRICS%,'(.)[.+?]\s*','$1')

Das entfernt die eckigen Klammerpaare und ihren Inhalt ...
und die möglicherweise folgenden Leerzeichen ...
und rettet das eine Zeichen vor der linken Klammer.

Ergebnis:
XXX||Twas in eighteen hundred and fifty-three
And of June the thirteenth day,
That our gallant ship her anchor weighed,
And for greenland bore a way, brave boys,
And for greenland bore a way.

DD.20170203.0947.CET


#6

Danke für Mitdenken und Danke, Detlev. Funktioniert.