Moving Featuring Artist "ONLY"

Hi does anyone know how to batch move tracks with featuring artists over to another field WITHOUT any other text.

What I mean is that I want to move the featuring text including the parenthesis brackets "(feat. Stephanie Smart)" and leave the "(Original Mix)"

I have pieced together a code string but instead of just moving the "featuring section" it moves everything from the "(featuring. onwards to end of text) This result is an undesired one.

TITLE = All We Need (feat. Stephanie Smart) (Original Mix)

TITLE = All We Need
ARTIST = ARTIST (feat. Stephanie Smart) (Original Mix)

Code used is as followed:

Source format:
%ARTIST%$regexp(%TITLE%,'^(.+?)\s+[[({<]?\s*(?:featuring|feat.?|ft.?)\s*([^])}>]+)>\s*[])}>]?(.*)$',' (feat. $2$3)+++$1',1)

Guessing pattern:


TITLE = All We Need (feat. Stephanie Smart) (Original Mix)

TITLE = All We Need (Original Mix)
ARTIST = ARTIST (feat. Stephanie Smart)

Thanks in Advance :

Perhaps this thread helps:
Remove "Featuring" from title

or this one


I'm very late on trying to get answers on those threads as most of the topics already found solutions dated back to 2011. I know you've pointed out to two older threads but somehow I couldn't get the specifics provided in them to work on my case which is exactly as the O.P. is (was) trying to get a solution for.

Pretty much converting the following example from:
Oscar G - Rain (feat. Seri)(Original Mix)

Oscar G feat. Seri - Rain (Original Mix)
So, essentially moving the (feat. artist) to ARTIST and leave the second paranthese intact regardless of its content in TITLE.

I've managed to find a lot of answers in conversion from many threads around here without having to re-open the thread but this one still stumping me. So, a huge thanks to you or for any of the other board RegEX wizards who could help.


The example you give does not look like fields to me but like a filename.
What do we find in which field?

and i think that in the links mentioned above, post #51 deal with your case:
Move "Featuring" from Artist to Title

Thanks for answering.

To clarify: the example is ARTIST - TITLE in the Tags (not the filename).
So, (ARTIST) Oscar G - (TITLE) Rain (feat. Seri)(Original Mix)
To: (ARTIST) Oscar G feat. Seri - (TITLE) Rain (Original Mix)

In the thread I've found a Convert solution from DetlevD:
Convert | Filename - Filename | ALT+3
Old filename pattern:
%1 - %2 (feat. %3)
New filename pattern (formatstring):
%1' feat. '%3' - '%2' (feat. '%3')'

I slightly modified it to:
Old Filename pattern:
%1 - %2 (feat. %3)(%4)
New filename pattern:
%1 feat. %3 - %2 (%4)

And that works.

However, I was hoping to find an ACTIONS solution instead as I can't save the Filename Convert. With hundreds of files to clean on a regular, I'm afraid that every time I quit the program I'd constantly have to re-enter the code over and over as opposed to the ACTIONS that I could just save and recall. (Correct me if I'm wrong but I don't see how to save the Filename format strings in the Convert pop-up box).

There is this ACTIONS solution given a few times in the thread:
Action: Guess Values
Source Format: %title% $regexp(%artist%,(.) Feat. (.),'('Feat. $2')' +++ $1)
Guessing Pattern: %title% +++ %artist%

but somehow it doesn't change anything when I try to apply to my situation; there must be something missing or I'm applying it wrong?.

I hope this explain my situation better. Like I said, the Convert is holding me down for now but hopefully an ACTIONS (RegEx) would save me tons of more time.

You can translate the patterns from the Convert solution almost directly to a regular expression for a Search with regular expression action:
Search string: (.) - (.) (feat. (.))((.))
Replace string: $1 feat. $3 - $2 ($4)