Format %Title% - move featuring

Hi all,

First of all I'd like to say that this program is amazing and the people who post in this forum are equally amazing, I've found a great script for moving all my "feat. abc" from artist to title.

My problem is that I have tons of remixes and the "feat. abc" gets moved to the end, after (xyz Remix). Could someone please help me to make the following changes?

Title: Move (Club Mix) (feat. Max'C)
Title: I'm Alright (Chuckie Remix) (feat. Flo Rida & Kat Deluna)

Title: Move (feat. Max'C) (Club Mix)
Title: I'm Alright (feat. Flo Rida & Kat Deluna) (Chuckie Remix)

Thank you so much for your time and help in advance!

Hi Charlie, good to hear, that the "feat" challenge is alreay done by you, so your current request might be an easy one, at least one similar request including solution should be buried down in the forum posts.

To make it short ... use ...
Action: "Format value"
Field: TITLE
Formatstring: $regexp(%TITLE%,'^(.+?)\s((.+?))\s((feat.\s.+?))$','$1 $3 $2')

A (B) (feat. C)

A (feat. C) (B)

If this swapping of parts should be applied against the filename, then it is rather simple too.

Convert | Filename - Filename | ALT+3

Select format string

Old filename pattern:
%1 (%2) (feat. %3)

New filename pattern:
%1 (feat. %3) (%2)

AAA (feat. CCC) (BBB).mp3

AAA (BBB) (feat. CCC).mp3


Dear DetlevD,

That was exactly what I was looking for! Thank you so much, a real lifesaver. The final scripts I have here (both of them thanks to DetlevD):

  1. for moving "featuring" from artist to title:

    Action: Guess values
    Source Format: $regexp(%ARTIST%,'^(.+?)\s+[[({]?(?:ft.?|feat.?|featuring)\s+(.+?)[])}]?\s*$','$1 - '%TITLE%' (feat. $2)',1)
    Guessing Format: %Artist% - %Title%

  2. for moving "featuring" from artist to title and placing it before (Zedd Remix) or (Original Mix) or (Produced by Chase & Status):

    Action 1: Guess values
    Source Format: $regexp(%ARTIST%,'^(.+?)\s+[[({]?(?:ft.?|feat.?|featuring)\s+(.+?)[])}]?\s*$','$1 - '%TITLE%' (feat. $2)',1)
    Guessing Format: %Artist% - %Title%
    Action 2: Format Value
    Field: TITLE
    Format String: $regexp(%TITLE%,'^(.+?)\s((.+?))\s((feat.\s.+?))$','$1 $3 $2')


1 Like

Hi there!

First and foremost, thank you sharing this regex, it served as a starting point to adapt it for my needs:

From: Booka Shade - Line of fire feat. karin park (Tube & Berger remix)
To: Booka Shade ft. karin park - Line of fire (Tube & Berger remix)

It also satisfies the criterium for strings which don't end with non-word characters.

Action: Guess Values
Source: $regexp(%TITLE%,'^(.+?)\s+[[({]?(?:ft.?|feat.?|featuring)\s+[])}]?(.+?)(\s\W.+\W)?$','$1$3 - '%ARTIST%' ft. $2',1)
Guessing Pattern: %title% - %artist%