Moving a string from the beginning to the end or almost the end; in brackets

Can anyone please help me with this task?


Here are some examples of TITLE before and after

BEFORE:
1m00a-01s Title
AFTER:
Title (1m00a-01s)

BEFORE:
1m00a-01s Title (Subtitle)
AFTER:
Title (Subtitle) (1m00a-01s)

BEFORE:
1m00a-01s Title (Subtitle) {2000}
AFTER:
Title (Subtitle) (1m00a-01s) {2000}

BEFORE:
1m00a-01s Title (Subtitle) [XYZ]
AFTER:
Title (Subtitle) (1m00a-01s) [XYZ]

BEFORE:
1m00a-01s Title (Subtitle) {2000} [XYZ]
AFTER:
Title (Subtitle) (1m00a-01s) {2000} [XYZ]

BEFORE:
1m00a-01s Title [XYZ]
AFTER:
Title (1m00a-01s) [XYZ]

BEFORE:
1m00a-01s Title {2000} [XYZ]
AFTER:
Title (1m00a-01s) {2000} [XYZ]


And so the rules are:

1] always take the very first string, whatever it may be

2] change all of the letters in it to capitals

3] enclose that string always in round brackets

4] put that data at the very end of TITLE, even if it already has (Something) at the end of it

4A] but put it before { - if it exists

4B] but put it before { - if it exists and also if the [ exists

4C] but put it before [ - if it exists and the { does not exits


The data in the already existing brackets, of all of three kinds, can have of course more than just a single word / string; or the other way around- it can have as little as a single sign of any kind. But those brackets will always be enclosed. And to visualize the rules further in a "maxed out" scenario - here the star sign marks the placement of that string taken out from the beginning of the TITLE: () * {} []

I think you can extract the first bit

with a regular expression pattern (.*\d+.)
I would put it in a separate (user-defined) field - a thing that I would also do with all the other implicit fields like the ones in {} and [] and () - this should be possible with a "Guess value" action. and then I would - if still necessary - recompose the title.
In that respect I find it a sub-optimum way to use the () for 2 purposes: one as subtitle, the other for

[quote="Zerow, post:1, topic:41454"]
1m00a-01s
[/quote] perhaps there is a better pattern with underscores or <> on the way.