Copy featuring artists and trim


I would like to copy the " (feat. Artists)" part of %title% and %album% tags to the %artist% and %albumartist% tags, then remove it from the %title% and %album% tags then remove the () from the string.

To make things a bit more complicated, I only want the string copied to the %album% tag if it contains the strings " [Single]" or " [EP]", and if it contains " {Deluxe}" on the end, to place the copied value before the double space.

See a collection of threads on that topic here:
Move any 'featuring' tags from Artist to Title

I have looked at all of those links referenced but, none of them just move the (feat. artist) when the %title% tag contains (feat. Artist) [Version]... one of them came close but also moved the [Version].

%title% = Title (feat. Artist) [Mixartist Mixtype] or
Title (feat. Artist) (Mixartist Mixtype)

The original tags appear as follows

%title% = Title or
%title% = Title (Extended Title) or
%title% = Title (Extended Title) (Mixartist Mixtype) or
%title% = Title (Mixartist Mixtype) or
%title% = Title (feat. Artist) (Mixartist Mixtype) or
%title% = Title (feat. Artist) [Mixartist Mixtype] or
%title% = Title (Mixartist Mixtype) [feat. Artist] or

%artist% = Artist

%album% = Album feat. Artist or
%album% = Album feat. Artist (Deluxe) or
%album% = Album feat. Artist - Single

%albumartist% = Album Artist

The should appear as...

%title% = Title or
%title% = Title (Extended Title) or
%title% = Title «Mixartist Mixtype» or
%title% = Title (Extended Title) «Mixartist Mixtype»

%artist% = Artist or
%artist% = Artist feat. Artist

%album% = Album or
%album% = Album {Deluxe} or
%album% = Album [Single]

%albumartist% = Album Artist feat. Artist if %album% = Album [Single] otherwise %albumartist% = Album Artist

Could somebody please assist with this? preferably, if $if statements could be used with the above in mind.

As you have more or less any permutation with brackets and sequence in your tags, you have to deal with every case individually.
What I would suggest:
First copy the contents of TITLE to FEAT_ARTIST
(FEAT_ARTIST is now a user-defined field). You achieve this with an action of the type Format value for FEAT_ARTIST and the format string %title%.

Now apply several actions of the type "Guess value" for FEAT_ARTIST
Each of these actions cuts away the stuff that you don't want, e.g.
Title (feat. Artist) (Mixartist Mixtype)
can be extracted with
%dummy% (feat. %feat_artist)%dummy%
I am sure, you can devise similar actions for other sequences or brackets.

Once you have extracted the featured artist to FEAT_ARTIST, you can now append ARTIST with FEAT_ARTIST with an action of the type "Format value" for ARTIST and the format string
%artist% (feat. %feat_artist%)

After that you delete the field FEAT_ARTIST.
And then you delete any bracket followed by "feat." with an action of the type "Replace with regular expression" for TITLE, e.g.
Search: (.) (feat.)\s(.*)
Replace: $1 $2