# Formatting all collaborations on the same model

**URL:** <https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938>\
**Category:** Support\
**Created:** [May 11, 2023, 7:44pm UTC](https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938 "2023-05-11T19:44:26Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![UION](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/46a35a/32.png) [@UION](https://community.mp3tag.de/u/UION)\
**Post date:** [May 11, 2023, 7:44pm UTC](https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938/1 "2023-05-11T19:44:26Z")

</div>

I am trying to create an action that wil format all collaboration templates as:  
Artist 1, Artist 2

it is meant to replace formatting such as:  
Artist 1 feat Artist 2  
Artist 1 feat. Artist 2  
Artist 1 featuring Artist 2  
Artist 1 / Artist 2  
Artist 1 // Artist 2  
Artist 1//Artist 2  
etc

This is the regex I am currently using: ( feat(\.|uring)? | ?\\{1,2} ?| ?/{1,2} ?)  
replaced with: ,

I am trying it on a track that is formatted as such:  
Artist 1\\Artist 2\\Artist 3

But not getting any results (the action does nothing). I am assuming the issue lies in this part: \\{1,2} and esaping the backslash properly. What am I doing wrong?

Additionnally, (this is a tengential question), if anyone knows how I can automatically transform:  
Track: Track 1 (feat. Artist 2)  
Artist: Artist 1

into:  
Track: Track 1  
Artist: Artist 1, Artist 2

That would be of great help.

Thanks a lot!

Edit: added a backslash before the dot to escapte it, still not working

---

<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:** [May 11, 2023, 7:51pm UTC](https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938/2 "2023-05-11T19:51:15Z")

</div>

> [@UION](#):
>
> I am trying it on a track that is formatted as such:  
> Artist 1\Artist 2\Artist 3
> 
> But not getting any results (the action does nothing). I am assuming the issue lies in this part: \{1,2} and esaping the backslash properly. What am I doing wrong?

You are treating most likely a multi-value field which is the same field several times.  
You have either use an action of the type "Merge duplacte fields"

> **[Merge Duplicate Fields – Mp3tag Documentation](https://docs.mp3tag.de/actions/merge-duplicate-fields/)**
>
> Documentation on the Merge Duplicate Fields action type that can be performed as Quick Action or as reusable workflow from Action Groups. Mp3tag is the universal Tag Editor.

or use the scripting function $meta\_sep()

> **[Scripting Functions – Mp3tag Documentation](https://docs.mp3tag.de/scripting/#metadata-functions)**
>
> Documentation on Mp3tag's scripting functions. Mp3tag is the universal Tag Editor.

You can check for multi-value fields in the extended tags dialogue Alt+T

Please open a separate thread for the other problem to move parts of one field to another.

---

<div class="post-metadata">

**Author:** ![MotleyG](https://community.mp3tag.de/user_avatar/community.mp3tag.de/motleyg/32/440_2.png) [@MotleyG](https://community.mp3tag.de/u/MotleyG)\
**Post date:** [May 11, 2023, 7:59pm UTC](https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938/3 "2023-05-11T19:59:41Z")

</div>

> [@UION](#):
>
> Additionnally, (this is a tengential question), if anyone knows how I can automatically transform:  
> Track: Track 1 (feat. Artist 2)  
> Artist: Artist 1
> 
> into:  
> Track: Track 1  
> Artist: Artist 1, Artist 2
> 
> That would be of great help.

There are a great variety of suggestions and solutions already on this subject. Take a look through these topics to find one that works for your scenario.  
[https://community.mp3tag.de/search?q=move%20feat](https://community.mp3tag.de/search?q=move%20feat)

---

<div class="post-metadata">

**Author:** ![UION](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/46a35a/32.png) [@UION](https://community.mp3tag.de/u/UION)\
**Post date:** [May 11, 2023, 8:00pm UTC](https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938/4 "2023-05-11T20:00:00Z")

</div>

Hey, thanks for the blazing fast answer!  
I am not sure what you mean when you say I am treating it as multi-value field. I am using the "Replace with regex" action type on the ARTIST field. My logic is that if part of the string in ARTIST matches this or that or that, it will be replaced by a comma.

Merging duplicate fields doesn't sound like what I want to do, as all the info is already into only one field.

Separating a field sounds closer to what I am trying to achieve but I have to create a sub action for every possible separator, which doesn't have the flexibility of a regex.

My issue is really on what is wrong with the expression itself if that makes sense.

Thanks!

---

<div class="post-metadata">

**Author:** ![UION](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/46a35a/32.png) [@UION](https://community.mp3tag.de/u/UION)\
**Post date:** [May 11, 2023, 8:02pm UTC](https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938/5 "2023-05-11T20:02:00Z")

</div>

Thanks, I will scroll through that!

---

<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:** [May 11, 2023, 8:02pm UTC](https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938/6 "2023-05-11T20:02:07Z")

</div>

> [@UION](#):
>
> Merging duplicate fields doesn't sound like what I want to do, as all the info is already into only one field

Could you please check this in the extended tags dialogue as suggested?

> [@UION](#):
>
> My issue is really on what is wrong with the expression itself if that makes sense.

Your problem is that you try to treat a character that is a display-only character to show the multi-value-field in a single field in the gui.

---

<div class="post-metadata">

**Author:** ![UION](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/46a35a/32.png) [@UION](https://community.mp3tag.de/u/UION)\
**Post date:** [May 11, 2023, 8:05pm UTC](https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938/7 "2023-05-11T20:05:45Z")

</div>

> [@ohrenkino](#):
>
> Could you please check this in the extended tags dialogue as suggested?

My bad, I missed that. This is indeed the case! I will add that to my action.

EDIT: and it's working. Tried manually reusing the double backslash as a separator and applying my regex - works fine too. Thanks!

---

<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:** [June 10, 2023, 8:06pm UTC](https://community.mp3tag.de/t/formatting-all-collaborations-on-the-same-model/60938/8 "2023-06-10T20:06:10Z")

</div>

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