Help with tags

Hello, can anyone help me change my tracks from:

Artist - Songtitle ft. Artist2

to:

Artist ft. Artist2 - Songtitle

Thanks in advance.

see e.g. here: /t/19388/1

I can't really understand what to do from the examples :confused:

As the examples are pretty thorough I have hardly any idea where to start.
So you have to help me and tell me how far you've got.

E.g. are we talking about filenames or actual tag fields?

$regexp('Artist - Songtitle ft. Artist2','(.) - (.) ft. (.*)','$1 ft. $3 - $2')

I just need to tag my songs using my original filenames.
My first attempt was to use %artist% - %title% from convert > filename - tag

However now some songs with featuring artists were put in the title.
I want the featuring artists to go into the artist section.

Forgot to mention that some of my tracks have this format in their filename
Artist - songtitle ft. artist2 (remixname)
I guess that needs a different approach right? That would need to be:
Artist ft. artist2 - songtitle (remixname)

Please fill the tags first - mucking about with the filename makes it even more difficult.

It may be easiest if you move the "ft. artist" to a separate (user-defined) field first.
For "songtitle ft. artist2" use an action of the type "Guess value":
Source: %title%
Guessing pattern: %title% ft. %feat_artist%

Check the extended tags dialogue (Alt-T) and see that you now have a user-defined field "feat_artist"

For "songtitle ft. artist2 (remixname)" use this approach:
Action of the type "Guess value"
Source: $regexp(%title%,'(.) ft. (.) ((.*)','$1 $3__$2')
Guessing pattern: %title%__%feat_artist%

Now apply a filter with the expression:
%feat_artist% PRESENT

Select the files and apply an action of the type "Format value" for ARTIST
Format string: %artist% ft. %feat_artist%

If the result is OK, delete the field FEAT_ARTIST in the extended tags dialogue.