# Small help - move '(feat. XX)' from TITLE to ARTIST

**URL:** https://community.mp3tag.de/t/small-help-move-feat-xx-from-title-to-artist/14856
**Category:** Support
**Created:** [June 29, 2013, 9:34pm UTC](https://community.mp3tag.de/t/small-help-move-feat-xx-from-title-to-artist/14856 "2013-06-29T21:34:00Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![huffj3](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/h/45deac/32.png) [@huffj3](https://community.mp3tag.de/u/huffj3)
#### Post date: [June 29, 2013, 9:34pm UTC](https://community.mp3tag.de/t/small-help-move-feat-xx-from-title-to-artist/14856/1 "2013-06-29T21:34:00Z")

</div>

Sorry, I know this type of question has been addressed in several threads, but it looks like everyone wants to do the opposite of what I want to do.

I found a code and made it work - mostly. I can't get the end parenthesis after the last artist.

Here is what I am using

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

```

before  
**Artist:** Blu & Exile  
**Title:** Maybe One Day (feat. Black Spade)  
after  
**Artist:** Blu & Exile (feat. Black Spade)  
**Title:** Maybe One Day

Also, "feat. ARTIST" should always be surrounded by ()

before  
**Artist:** Daft Punk  
**Title:** Get Lucky (Daft Punk Remix) [feat. Pharrell Williams]  
after  
**Artist:** Daft Punk (feat. Pharrell Williams)  
**Title:** Get Lucky (Daft Punk Remix)

Thanks for your help!

---

<div class="post-metadata">

### Author: ![JJ\_Johnson](https://community.mp3tag.de/user_avatar/community.mp3tag.de/jj_johnson/32/67_2.png) [@JJ\_Johnson](https://community.mp3tag.de/u/JJ_Johnson)
#### Post date: [June 29, 2013, 11:01pm UTC](https://community.mp3tag.de/t/small-help-move-feat-xx-from-title-to-artist/14856/2 "2013-06-29T23:01:09Z")

</div>

I haven't played with it, but one thing I see right away is that you need to escape the square brackets within your character sets.

Change

[[({\<] to [[({\<]

[^])}\>] to [^])}\>]

[])}\>] to [])}\>]

---

<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: [June 30, 2013, 5:52am UTC](https://community.mp3tag.de/t/small-help-move-feat-xx-from-title-to-artist/14856/3 "2013-06-30T05:52:47Z")

</div>

## You don't need that. All of these brackets are placed in a way that they don't need escaping.

Just add the parenthisis in the replacement part after $2 or $3:  
(feat. $2$3**)**+++$1',1)

---

<div class="post-metadata">

### Author: ![huffj3](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/h/45deac/32.png) [@huffj3](https://community.mp3tag.de/u/huffj3)
#### Post date: [June 30, 2013, 1:33pm UTC](https://community.mp3tag.de/t/small-help-move-feat-xx-from-title-to-artist/14856/4 "2013-06-30T13:33:06Z")

</div>

Perfect! It's working well now. Thanks for the assistance.

Here's my finished solution:

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

---

<div class="post-metadata">

### Author: ![STR8TeK9](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/e9bcb4/32.png) [@STR8TeK9](https://community.mp3tag.de/u/STR8TeK9)
#### Post date: [October 28, 2013, 11:59pm UTC](https://community.mp3tag.de/t/small-help-move-feat-xx-from-title-to-artist/14856/5 "2013-10-28T23:59:01Z")

</div>

😆 Thanks GREAT WORK to all the ppl that made and revised this code.  
(i take no credit).

Now by doing a simple switching of the code you supplied its possible to send the ... (feat. XX) info to any other field such as sending it from the ARTIST field to the TITLE field.

**move '(feat. XX)' from ARTIST to TITLE**

**Action Type:**  
Guess Value

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

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

**OR**

**move '(feat. XX)' from TITLE to ARTIST**

**Action Type:**  
Guess Value

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

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

---

<div class="post-metadata">

### Author: ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)
#### Post date: [October 29, 2013, 7:03am UTC](https://community.mp3tag.de/t/small-help-move-feat-xx-from-title-to-artist/14856/6 "2013-10-29T07:03:24Z")

</div>

> [@STR8TeK9](#):
>
> ... Now by doing a simple switching of the code you supplied its possible to send the ... (feat. XX) info to any other field such as sending it from the ARTIST field to the TITLE field. ...

Read there ...  
[Move "Featuring" from Artist to Title](https://community.mp3tag.de/t/11096/28)

DD.20131029.0904.CET

---

<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:24pm UTC](https://community.mp3tag.de/t/small-help-move-feat-xx-from-title-to-artist/14856/7 "2026-02-09T12:24:33Z")

</div>


