Rolf B: Danke - funktioniert

Beitrag lesen

Hallo Linuchs,

warum die manuelle Markiererei? Wenn Du eine Akkord-Sequenz findest, suche einfach das nächste Whitespace (' ', '\n', '\t', '-'). Eventuell musst Du auch noch das Stringende mit berücksichtigen (oder häng einfach vorher ein " " an die Zeile an 😉)

Unterscheide, ob Du ein '-' oder ein Whitespace gefunden hast, abhängig davon nimmst Du das gefundene Zeichen mit ins "Wort" oder nicht. Und dann packst Du den Fund in <x-a> </x-a> ein.

Das geht ganz gut mit einer Regex: /\((?<accord>-?\d)\).*?(?<delim>-|\s|$)/dg. Die d-Option aktiviert die Indizes-Ermittlung, so dass Du genau weißt, wo die Treffer sind.

Heute ist's mir aber zu spät, um eine passende Transform-Funktion drumrum zu schreiben.

Rolf

--
sumpsi - posui - obstruxi