# Batch move "feat" in title to artist field

**URL:** https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293
**Category:** Support
**Created:** [June 13, 2020, 3:46am UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293 "2020-06-13T03:46:50Z")
**Posts on this page:** 18
**Page:** 1

<div class="post-metadata">

### Author: ![Chaython](https://community.mp3tag.de/user_avatar/community.mp3tag.de/chaython/32/7768_2.png) [@Chaython](https://community.mp3tag.de/u/Chaython)
#### Post date: [June 13, 2020, 3:46am UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/1 "2020-06-13T03:46:50Z")

</div>

Anyway to batch move "feat" in title to artists tab?  
I never understand why "feat. Artist name" is still a thing, rather than adding a comma to artist tab, considering there's album artist tag...  
I hate it because it goes over character limit in most players, and will wrap around, cause ... or will scroll across.  
Same issue with prod, move it to composer...

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [June 13, 2020, 6:42am UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/2 "2020-06-13T06:42:29Z")

</div>

see here:

> [@Featuring & all derivatives](https://community.mp3tag.de/t/featuring-all-derivatives/9445):
>
> I'm trying to ... Remove any brackets round the featuring/feat/ft entry Change the wording to always be "feat." Move the entry from the 'Title' field to the 'Artist' field I found an answer (in bits) in German but it seems to have lost something in translation. Couldn't find an English answer. Here's the conversion......... Regular expression \_ALL: \((feat[^\)]\*)\) -\> $1 Replace \_ALL: FT. , ft. , FT , ft. , FEAT , ft. , FEAT. , ft. , FEATURING , ft. , Ft , ft. , ft , ft. , Feat , ft. , fea…

---

<div class="post-metadata">

### Author: ![cornelcri](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/f19dbf/32.png) [@cornelcri](https://community.mp3tag.de/u/cornelcri)
#### Post date: [June 14, 2020, 4:40pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/3 "2020-06-14T16:40:03Z")

</div>

Can you write here the correct expression here i try everything but doesn t work please please

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [June 14, 2020, 5:10pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/4 "2020-06-14T17:10:24Z")

</div>

If you have tried everything then I am sure there must have been a way that worked.

Here is the other way round:

> [@Move "Featuring" from Artist to Title](https://community.mp3tag.de/t/move-featuring-from-artist-to-title/11096):
>
> Hello. Right now in the Artist column i have for example Mariah Carey Feat. abc, Mariah Carey feat. def, Mariah Carey Feat. xyz etc. etc. I want to keep Mariah Carey in the column, but move Feat. NN. I want it removed to the Title column. Example: Before TITLE: O Come All Ye Faithful / Hallelujah Chorus ARTIST: Mariah Carey Feat. Patricia Carey New TITLE: O Come All Ye Faithful / Hallelujah Chorus (Feat. Patricia Carey) ARTIST: Mariah Carey How do I do that?

I am sure you can adapt it.  
And if not: there are sooooo many threads that deal with moving "featuring" around - please use the search function

---

<div class="post-metadata">

### Author: ![cornelcri](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/f19dbf/32.png) [@cornelcri](https://community.mp3tag.de/u/cornelcri)
#### Post date: [June 14, 2020, 5:15pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/5 "2020-06-14T17:15:04Z")

</div>

Thank you i will try again

---

<div class="post-metadata">

### Author: ![cornelcri](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/f19dbf/32.png) [@cornelcri](https://community.mp3tag.de/u/cornelcri)
#### Post date: [June 15, 2020, 2:07pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/6 "2020-06-15T14:07:28Z")

</div>

I tried all the variants none work, if you could leave a code here

 ![Untitleda](https://community.mp3tag.de/uploads/default/original/2X/6/69e517be9c8907e7475c92bab1a9b99a76a523e1.png)

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [June 15, 2020, 2:15pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/7 "2020-06-15T14:15:17Z")

</div>

I don't see any filled tags - just a filename that should be manipulated.  
So this means that you don't want to move the data between fields but just need a file renaming program.  
This also means that you more or less hijacked this thread.  
I would like to draw your attention to either Convert\>Filename-Tag to first fill the tags with e.g.  
Format string: %artist% - %title% feat. %feat\_artist%

And then rename the files as you like them:  
Convert\>Tag-Filename  
Format string: %artist% feat. %feat\_artist% - %title%

There are not a lot of titles with "feat." as keyword. It will only work for those, though.

---

<div class="post-metadata">

### Author: ![Chaython](https://community.mp3tag.de/user_avatar/community.mp3tag.de/chaython/32/7768_2.png) [@Chaython](https://community.mp3tag.de/u/Chaython)
#### Post date: [June 15, 2020, 2:57pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/8 "2020-06-15T14:57:18Z")

</div>

The first result on the page seemed to work but didn't add a space to the artist

It seems

"

[#0]  
T=4  
F=\_ALL  
1=\((feat[^\)]\*)\)  
2=$1  
3=0

[#1]  
T=4  
F=\_ALL  
1=\((ft[^\)]\*)\)  
2=$1  
3=0

[#2]  
T=4  
F=\_ALL  
1=( featuring | feat. | feat | ft. | ft )  
2= feat.  
3=0

[#3]  
T=5  
F=ARTIST  
1=%artist%$mid(%title%,$strstr(%title%, feat.),$len(%title%))

[#4]  
T=4  
F=TITLE  
1=^(.+)( feat.+)  
2=$1  
3=0  
"  
is the end solution, but how do I add this/use this as an action in mp3tag?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [June 15, 2020, 5:08pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/9 "2020-06-15T17:08:07Z")

</div>

You would have to copy that text into a text editor and save it in MP3tags Data/actions folder.  
The file needs to have the extension mta instead of txt.  
But: this is not the preferred way to create actions. Normally, you use the MP3tag internal functions Actions\>Actions\>New to create one.

---

<div class="post-metadata">

### Author: ![iamyou](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/i/c68b51/32.png) [@iamyou](https://community.mp3tag.de/u/iamyou)
#### Post date: [June 25, 2020, 12:36am UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/10 "2020-06-25T00:36:06Z")

</div>

Chaython,

You need the following solution:

* * *

Actions -\> Create New Action -\> Guess Values

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

Guessing Pattern:  
%ARTIST%+++%TITLE%

* * *

This will move all of the `featuring / feat. / ft.` from "Title" to "Artiste"

---

<div class="post-metadata">

### Author: ![Roland](https://community.mp3tag.de/user_avatar/community.mp3tag.de/roland/32/8001_2.png) [@Roland](https://community.mp3tag.de/u/Roland)
#### Post date: [February 19, 2021, 4:27pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/11 "2021-02-19T16:27:03Z")

</div>

Dear community,  
I need help because I am stucked with this conversion. 😬

I want to move all artist infos from TITLE to ARTIST.  
I assume that a syntax change was made in the course of one of the last releases.  
The fact is that my previous conversion worked for about 2 years.  
But today I am using v3.04 and it does not give any result.

**What I have is:**  
ARTIST: Lee Ritenour  
TITLE: The Inner Look (feat. Marcus Miller & Bob James) [radio mix]

**What I want is:**  
ARTIST: Lee Ritenour feat. Marcus Miller & Bob James  
TITLE: The Inner Look [radio mix]

I can't find the right REGEX term.

Where can I find a help / solution? 😟

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [February 19, 2021, 6:52pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/12 "2021-02-19T18:52:41Z")

</div>

> [@Roland](#):
>
> I can't find the right REGEX term.

Which ones have you tried already?  
Try an action of the type "Format value" for ARTIST  
Format string: `%artist% $regexp(%title%,.*\((.*)\).*,$1)`  
to get the feat.-part appended to ARTIST

Then try an action of the type "Format value" for TITLE  
Format string: `$regexp(%title%,\(.*\) ,)`  
to remove the feat.-part from the TITLE

---

<div class="post-metadata">

### Author: ![Roland](https://community.mp3tag.de/user_avatar/community.mp3tag.de/roland/32/8001_2.png) [@Roland](https://community.mp3tag.de/u/Roland)
#### Post date: [February 22, 2021, 4:01pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/13 "2021-02-22T16:01:21Z")

</div>

Thank you ohrenkino. 🤗

I had not tried these instructions yet.  
It works for the above example.

In other cases where no part in square brackets follows , TITLE is unchanged. 😐  
Can you please help me to consider this as well?  
And what if in such a case the brackets in TITLE are completely missing?  
I would be very happy to solve this problem soon with your help.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [February 22, 2021, 4:40pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/14 "2021-02-22T16:40:38Z")

</div>

> [@Roland](#):
>
> In other cases where no part in square brackets follows , TITLE is unchanged

Yes, of course.  
Regular expressions describe patterns and don't work if the patterns do not match.

> [@ohrenkino](#):
>
> Format string: `%artist% $regexp(%title%,.*\((.*)\).*,$1)`

if there is nothing following the brackets, try  
Format string: `%artist% $regexp(%title%,.*\((.*)\),$1)`  
and the removal action with  
Format string: `$regexp(%title%,\(.*\),)`

> [@Roland](#):
>
> And what if in such a case the brackets in TITLE are completely missing?

... so that "feat" is the separator?

> [@Roland](#):
>
> TITLE: The Inner Look feat. Marcus Miller & Bob James

Format string: `%artist% $regexp(%title%,.* feat. (.*),$1)`  
and the removal action with  
Format string: `$regexp(%title%, feat. .*,)`

---

<div class="post-metadata">

### Author: ![Roland](https://community.mp3tag.de/user_avatar/community.mp3tag.de/roland/32/8001_2.png) [@Roland](https://community.mp3tag.de/u/Roland)
#### Post date: [February 22, 2021, 4:56pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/15 "2021-02-22T16:56:37Z")

</div>

Thank you for your quick response.

I want to build an script for general use for my 'move FEAT' task.  
Can an enhanced regex handle all mentioned constellation in one?  
Or must i use separate regexes (as above mentioned) and check this out in advance?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [February 22, 2021, 5:13pm UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/16 "2021-02-22T17:13:09Z")

</div>

as I said: different patterns require different expressions.  
But as expressions that do not match return the input string and you already found out that no match leads to no modification, you can arrange the actions in the action group in such a way that they go from longest and most complex to simplest.  
This should cater for the 3 variations.

---

<div class="post-metadata">

### Author: ![djrip](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/d/3ab097/32.png) [@djrip](https://community.mp3tag.de/u/djrip)
#### Post date: [September 26, 2024, 5:05am UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/17 "2024-09-26T05:05:12Z")

</div>

I found some of this useful but my eventual solution to move any featured artist within the TITLE from the title to the artist relies on the featured artist being within parenthesis ().

The solution is based on one of the above but I found it didn't work completeley, so the modified version is as follows.

In the GUES VALUES, use:  
`%ARTIST%$regexp(%TITLE%,'(^.*)\s\((ft\.|ft|f\.|f\b|featuring|feat\.|feat|feat])\s(.*?)\)',' $2 $3+++$1',1)`  
with the guessing pattern as before  
`%ARTIST%+++%TITLE%`

---

<div class="post-metadata">

### Author: ![system](https://community.mp3tag.de/uploads/default/original/2X/c/ce7035d426cb755a7916793326d23b465222a407.png) [@system](https://community.mp3tag.de/u/system)
#### Post date: [October 26, 2024, 5:05am UTC](https://community.mp3tag.de/t/batch-move-feat-in-title-to-artist-field/49293/18 "2024-10-26T05:05:23Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
