# Artist & featuring formatting

**URL:** https://community.mp3tag.de/t/artist-featuring-formatting/12818
**Category:** Support
**Created:** [December 15, 2011, 7:31pm UTC](https://community.mp3tag.de/t/artist-featuring-formatting/12818 "2011-12-15T19:31:25Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![ni.va](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/n/7ba0ec/32.png) [@ni.va](https://community.mp3tag.de/u/ni.va)
#### Post date: [December 15, 2011, 7:31pm UTC](https://community.mp3tag.de/t/artist-featuring-formatting/12818/1 "2011-12-15T19:31:25Z")

</div>

Hi

I recently discovered how Win7 windows explorer uses Artist field to show Contributing Artists separately. so I formatted the Artist field to Artist separated by "/". Like:

ARTIST: **Benny Benassi/Kelis/APL/Jean-Baptiste**

& now I want to use this field in file names formatted like: (in tags - filenames Dialog)

**Benny Benassi Ft. Kelis, APL & Jean-Baptiste**

in my collection there are tracks that have from 1 to 4 contributing artists & I want this to work with all of them as follow:

Artist: A  
Output: A

Artist: A/B  
Output: A Ft. B

Artist: A/B/C  
Output: A Ft. B & C

Artist: A/B/C/D  
Output A Ft. B, C & D

Artist: A/B/C/D/E  
Output: A Ft. B, C, D & E

Would it be possible Guys??

Thanks 😃

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [December 17, 2011, 1:27am UTC](https://community.mp3tag.de/t/artist-featuring-formatting/12818/2 "2011-12-17T01:27:14Z")

</div>

> [@ni.va](#):
>
> .....& I want this to work with all of them as follow:
> 
> Artist: A  
> Output: A
> 
> Artist: A/B  
> Output: A Ft. B
> 
> Artist: A/B/C  
> Output: A Ft. B & C
> 
> Artist: A/B/C/D  
> Output A Ft. B, C & D
> 
> Artist: A/B/C/D/E  
> Output: A Ft. B, C, D & E

I'm only on my fone atm but I will try and help.

Try this (You have to put these in one single action group for this to work:)

If you want the FILENAME format:  
%artist% - %title%

Action #1 (MUST BE TOP ACTION)  
Format field: \_FILENAME  
Format : %artist%

For: Benny Benassi _NO ACTION NEEDED_

Action #2  
For: Benny Benassi/Kelis  
Exp: ^(.+)/(.+)$  
Replace: $1 Ft. $2

Action #3  
For: Benny Benassi/Kelis/APL  
Exp: ^(.+)/(.+)/(.+)$  
Replace: $1 Ft. $2 & $3

Action #4  
For: Benny Benassi/Kelis/APL/Jean-Baptiste  
Exp: ^(.+)/(.+)/(.+)/(.+)$  
Replace: $1 Ft. $2, $3 & $4

Action #5  
For: Benny Benassi/Kelis/APL/Jean-Baptiste  
Exp: ^(.+)/(.+)/(.+)/(.+)/(.+)$  
Replace: $1 Ft. $2, $3, $4 & $5

Action #6 (MUST BE BOTTOM ACTION)  
Format field: \_FILENAME  
Format : %\_filename% - %title%

Test on a small amount of files first.

---

<div class="post-metadata">

### Author: ![ni.va](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/n/7ba0ec/32.png) [@ni.va](https://community.mp3tag.de/u/ni.va)
#### Post date: [December 17, 2011, 7:55pm UTC](https://community.mp3tag.de/t/artist-featuring-formatting/12818/3 "2011-12-17T19:55:58Z")

</div>

Thanks It worked but with some small changes (figured out by looking through Help file)  
😃

> [@](#):
>
> If you want the FILENAME format:  
> %artist% - %title%
> 
> Action #1 (MUST BE TOP ACTION)  
> Format field: \_FILENAME (I used a costum field ("NEW"))  
> Format : %artist%
> 
> Action #2  
> Exp: ^([^/]+)/([^/]+)$  
> Replace: $1 Ft. $2
> 
> Action #3  
> Exp: ^([^/]+)/([^/]+)/([^/]+)$  
> Replace: $1 Ft. $2 & $3
> 
> Action #4  
> Exp: ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$  
> Replace: $1 Ft. $2, $3 & $4
> 
> Action #5  
> Exp: ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$  
> Replace: $1 Ft. $2, $3, $4 & $5
> 
> Action #6 (MUST BE BOTTOM ACTION)  
> Format field: \_FILENAME  
> Format : %\_filename% - %title%

EDIT: Sep 8 2013:  
I Actually figured out the better solution.  
I edited this post to avoid pumping up an old thread.

So my new solution is:

> [@](#):
>
> If you want the FILENAME format:  
> %artist% - %title%
> 
> Action #1 (MUST BE TOP ACTION)  
> Format field: \_FILENAME (I used a costum field ("NEW"))  
> Format : %artist%
> 
> Action #2  
> Exp: ^([^/]+)/([^/]+)  
> Replace: $1 Ft. $2
> 
> Action #3  
> Exp: ([^/]+)/([^/]+)$  
> Replace: $1 & $2
> 
> Action #4  
> Replace:  
> Original:"/" (Without quotes)  
> With:", " (Without quotes)
> 
> Action #5 (MUST BE BOTTOM ACTION)  
> Format field: \_FILENAME  
> Format : %\_filename% - %title%
> 
> And if you used a custom field like me:
> 
> Action #6  
> Remove fields:"new" (Without quotes)
> 
> or if you want to have the featuring part after title the Actions 5 & 6 replace with:
> 
> Action #5/1  
> Guess Values:  
> Source format: %new%  
> Guessing pattern: %new% Ft. %ft%
> 
> Action #5/2  
> Format field: \_FILENAME  
> Format : %new% - %title% (Ft. %ft%)
> 
> Action #6  
> Remove fields:"new;ft" (Without quotes)
> 
> Also you can summarize the whole actions into one format string to use in the "tags - filenames" Dialog:
> 
> Format String:  
> $replace($regexp($regexp(%artist%,'^([^/]+)/([^/]+)','$1 Ft. $2'),'([^/]+)/([^/]+)$','$1 & $2'),/,', ') - %title%

Hope this would help somebody...

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [December 17, 2011, 9:57pm UTC](https://community.mp3tag.de/t/artist-featuring-formatting/12818/4 "2011-12-17T21:57:02Z")

</div>

> [@ni.va](#):
>
> Thanks It worked but with some small changes (figured out by looking through Help file)  
> 😃

good to see your getting a grasp of reg exp.

The e.g (.+)/(.+) is basically the same outcome because (.+) searches everything UNTIL it meets '/' so saying find everything exept '/' until '/' reads basically the same. 🙂

---

<div class="post-metadata">

### Author: ![ni.va](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/n/7ba0ec/32.png) [@ni.va](https://community.mp3tag.de/u/ni.va)
#### Post date: [December 18, 2011, 7:17am UTC](https://community.mp3tag.de/t/artist-featuring-formatting/12818/5 "2011-12-18T07:17:07Z")

</div>

> [@stevehero](#):
>
> good to see your getting a grasp of reg exp.
> 
> The e.g (.+)/(.+) is basically the same outcome because (.+) searches everything UNTIL it meets '/' so saying find everything exept '/' until '/' reads basically the same. 🙂

from what I tried with my files, the e.g (.+)/(.+) matches "A/B/C" taking "A/B" for the first part & "C" for the second.

---

<div class="post-metadata">

### Author: ![dano](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dano/32/6_2.png) [@dano](https://community.mp3tag.de/u/dano)
#### Post date: [December 18, 2011, 8:04am UTC](https://community.mp3tag.de/t/artist-featuring-formatting/12818/6 "2011-12-18T08:04:26Z")

</div>

It's not the same. (.+)/ searches until the last / char

Here's a good explanation:  
[Watch Out for The Greediness](http://www.regular-expressions.info/repeat.html)

---

<div class="post-metadata">

### Author: ![stevehero](https://community.mp3tag.de/user_avatar/community.mp3tag.de/stevehero/32/337_2.png) [@stevehero](https://community.mp3tag.de/u/stevehero)
#### Post date: [December 18, 2011, 9:52am UTC](https://community.mp3tag.de/t/artist-featuring-formatting/12818/7 "2011-12-18T09:52:43Z")

</div>

As ive said im on me fone so didnt have a chance to test the action first. My bad.

---

<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: [February 9, 2026, 12:23pm UTC](https://community.mp3tag.de/t/artist-featuring-formatting/12818/8 "2026-02-09T12:23:31Z")

</div>


