# Action "Split tag field" does not work any longer

**URL:** https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981
**Category:** Fixed Bugs
**Tags:** bug-fixed
**Created:** [October 11, 2025, 2:32pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981 "2025-10-11T14:32:20Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Cryptographer](https://community.mp3tag.de/user_avatar/community.mp3tag.de/cryptographer/32/21187_2.png) [@Cryptographer](https://community.mp3tag.de/u/Cryptographer)
#### Post date: [October 11, 2025, 2:32pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/1 "2025-10-11T14:32:20Z")

</div>

Since Version v3.31a, the action "Split tag field" (in German: "Tag-Feld aufteilen") does not seem to work any longer. With such a script:  
Tag-Feld aufteilen "ARTIST":";,/&"  
Tag-Feld aufteilen "COMPOSER":";,/&"  
Tag-Feld aufteilen "LYRICIST":";,/&"  
Tag-Feld aufteilen "PERFORMER":";,/&"  
I could separate  
COMPOSER John Lennon & Paul McCartney  
PERFORMER John Lennon,Paul McCartney,George Harrison,Ringo Starr  
into  
COMPOSER John Lennon  
COMPOSER Paul McCartney  
PERFORMER John Lennon  
PERFORMER Paul McCartney  
PERFORMER George Harrison  
PERFORMER Ringo Starr  
which is more compatible with a database indexing.  
Currently the action does not seem to do anything.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [October 11, 2025, 2:39pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/2 "2025-10-11T14:39:28Z")

</div>

Works fine here:

 ![Source](https://community.mp3tag.de/uploads/default/original/3X/1/d/1d3eb4d91cd7020783071361018fa5f4afb78c63.jpeg)

Action **Split field by separator** :  
space & space

 ![image](https://community.mp3tag.de/uploads/default/original/3X/1/3/1309bd1987becee1072247dbf9e91546fcfc1b62.png)

results as expected in:

 ![Result](https://community.mp3tag.de/uploads/default/original/3X/3/2/324ed4740d44dd52e65f42baefc7885c771d6958.png)

Please show us your source content - for example in your COMPOSER field.

Same for PERFORMER split by a comma:

 ![image](https://community.mp3tag.de/uploads/default/original/3X/f/d/fd862f4f45fe843de5d44066f894d07ddb1e2d36.png)  
results in:  
 ![image](https://community.mp3tag.de/uploads/default/original/3X/8/e/8e8b7a13fc49cccdf570df7e029449a3d564ff70.png)

BTW:  
I ran my tests using MP3tag v3.31 **d** , once with the Quick-Action and once with a new Action Group containing two Actions (one for COMPOSER and one for PERFORMER).

---

<div class="post-metadata">

### Author: ![Cryptographer](https://community.mp3tag.de/user_avatar/community.mp3tag.de/cryptographer/32/21187_2.png) [@Cryptographer](https://community.mp3tag.de/u/Cryptographer)
#### Post date: [October 11, 2025, 2:55pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/3 "2025-10-11T14:55:12Z")

</div>

This script I have stored as “Action”:

 ![image](https://community.mp3tag.de/uploads/default/original/3X/3/4/3412dd027a578fffd0b1d090b32ed8714fa95754.png)

Up to the last release it did work perfectly.  
Unfortunately it has stopped working since v3.31a.  
I could not find a version v3.31d. Where did you get it?

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [October 11, 2025, 2:58pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/4 "2025-10-11T14:58:28Z")

</div>

> [@Cryptographer](#):
>
> I could not find a version v3.31d. Where did you get it?

From here:

> [@Mp3tag Development Build Status](https://community.mp3tag.de/t/mp3tag-development-build-status/455):
>
> Date: 2025-09-24 Version: 3.31d Status: Beta warningDownload: 64-bit [mp3tagv331d-x64-setup.exe](https://download.mp3tag.de/mp3tagv331d-x64-setup.exe) 32-bit [mp3tagv331dsetup.exe](https://download.mp3tag.de/mp3tagv331dsetup.exe) 3.31d (2025-09-24) FIX: MP4 gnre atom for GENRE used type identifier that was incompatible with Apple Music so that "Unknown Genre" was displayed instead of the actual genre (since v3.31b). FIX: MP4 fields TOTALTRACKS and TOTALDISCS were not written, if accompanied TRACK and DISC were not changed (since v3.31b). 3.31c (2025-09-04) FIX: runtime e…

I'm not completely certain, but I don't believe that the 'Split field by separator / Tag-Feld aufteilen' separator has ever accepted multiple separator characters in the way that you used it.

The [documentation](https://docs.mp3tag.de/actions/split-field/) says:

> This action type splits the content of a tag field into multiple separate tag fields based **on a given separator character**.

---

<div class="post-metadata">

### Author: ![Cryptographer](https://community.mp3tag.de/user_avatar/community.mp3tag.de/cryptographer/32/21187_2.png) [@Cryptographer](https://community.mp3tag.de/u/Cryptographer)
#### Post date: [October 11, 2025, 3:22pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/5 "2025-10-11T15:22:58Z")

</div>

Had just updated to v3.31d (beta), still the same as with v3.31a.

Then I did split each ";,/&" into ";" and "," and "/" and "&" as four separate entries.  
This now does work, but it leaves leading blanks in the entries:  
"John Lennon, Paul McCartney" now becomes  
"John Lennon" and " Paul McCartney". Previously it was:  
"John Lennon" and "Paul McCartney".

I could live with four entries each instead of one each before.  
But to extend to 16 entries, with "&" and " &" and "& " and " & " for each, is extreme.

So, I think it’s still a bug.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [October 11, 2025, 3:33pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/6 "2025-10-11T15:33:41Z")

</div>

> [@Cryptographer](#):
>
> This now does work, but it leaves leading blanks in the entries:

Please try **comma space** as separator.

 ![image](https://community.mp3tag.de/uploads/default/original/3X/9/0/909d18b5f3512c005c8c7358e16675de1b0009e4.png)  
It is important to order your Actions correctly.  
First split by comma space. Then split by comma only.

BTW:  
Your PERFORMER example above has no space around the commas.

> [@Cryptographer](#):
>
> still the same as with v3.31a.

You will need to wait for a response from @florian regarding this issue.

---

<div class="post-metadata">

### Author: ![Cryptographer](https://community.mp3tag.de/user_avatar/community.mp3tag.de/cryptographer/32/21187_2.png) [@Cryptographer](https://community.mp3tag.de/u/Cryptographer)
#### Post date: [October 11, 2025, 3:39pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/7 "2025-10-11T15:39:09Z")

</div>

Sorry, did update the last post while you were writing.

---

<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: [October 11, 2025, 3:42pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/8 "2025-10-11T15:42:15Z")

</div>

The string given in "Separator" is taken as the sequence of characters that separate one field from the other.  
Your string `;,/&` would mean that

> [@Cryptographer](#):
>
> COMPOSER John Lennon & Paul McCartney

would have to be  
COMPOSER John Lennon;,/&Paul McCartney  
to get the fields split.

If you want to cater for different characters that should split the field, then try an action of the type "Format value" for e.g. COMPOSER  
Format string: `$replace(%composer%,&,\\,;,\\,',',\\, \\,\\,\\ ,\\)`

As also e.g. "`& `" could be used as separator without the space being considered a part of a list of characters, I doubt that a string was ever taken as a list of possible separators.

---

<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: [October 11, 2025, 3:44pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/9 "2025-10-11T15:44:47Z")

</div>

> [@Cryptographer](#):
>
> But to extend to 16 entries, with "&" and " &" and "& " and " & " for each, is extreme.

If you tidy up your strings and remove the spaces around the separators then you would not get leading or trailing spaces in the fields.  
Actually, my $replace() suggestion should remove leading and/or trailing spaces.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [October 11, 2025, 4:30pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/11 "2025-10-11T16:30:30Z")

</div>

> [@ohrenkino](#):
>
> Actually, my $replace() suggestion should remove leading and/or trailing spaces.

My first idea with `$trim` does not work in this case.

A much more complicated combination of a regular expression and a replace function could solve the problem with leading and trailing spaces in multi-value fields:  
`$replace($regexp($meta_sep(PERFORMER,§),\s*§\s*,§),§,\\)`

Explanation:  
1 . All existing PERFORMER multi-value fields will be combined into one new string, separated by a `§` character with `$meta_sep`, including the unwanted spaces.  
2 . The regular expression `$regexp` would eliminate leading and trailing spaces around the `§` character in the string, but not between first name and last name  
3 . The `$replace` command would change the separator character `§` into `\\` which results in the original multi-value fields again.

This only works if there is no `§` character anywhere in the PERFORMER names.

Therefore I suggest to use @ohrenkino's `$replace` with a **Format value** Action.

---

<div class="post-metadata">

### Author: ![Cryptographer](https://community.mp3tag.de/user_avatar/community.mp3tag.de/cryptographer/32/21187_2.png) [@Cryptographer](https://community.mp3tag.de/u/Cryptographer)
#### Post date: [October 11, 2025, 5:27pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/12 "2025-10-11T17:27:22Z")

</div>

> [@LyricsLover](#):
>
> $replace($regexp($meta\_sep(PERFORMER,§),\s\*§\s\*,§),§,\)

This of course is a possible solution. But to be honest, some years later when looking at it I would not understand what’s going on there. I think this is the reason why the action "Split field by separator" has been introduced, to make action scripts self-explanatory.

As for leading and trailing spaces in fields, it is likely to be an issue if they occur at all. So, a scripting macro imho should not produce these.

I must confess, I was happy with the previous solution: each character given was treated as a separator, and leading and trailing spaces were removed.

---

<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: [October 11, 2025, 5:57pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/13 "2025-10-11T17:57:39Z")

</div>

> [@Cryptographer](#):
>
> with the previous solution

I doubt that that what you described (supplying a list of characters) ever worked.  
I think that nothing has changed with this function.

An example: I just constructed a composer  
`Mike Knapp vs. Pino Grzybowsky v Pino s Mike`  
and used the function "Split by separator" with  
Separator: `vs.`  
if the separator would be treated as a list, then the composer should change to  
`Mike Knapp\\Pino Grzybowsky\\Pino\\Mike`  
as there is a "vs." and a "v" and and "s".  
But actually, the Composer changes to  
`Mike Knapp\\Pino Grzybowsky v Pino s Mike`  
as only the "vs." matches the separator string.

---

<div class="post-metadata">

### Author: ![Cryptographer](https://community.mp3tag.de/user_avatar/community.mp3tag.de/cryptographer/32/21187_2.png) [@Cryptographer](https://community.mp3tag.de/u/Cryptographer)
#### Post date: [October 12, 2025, 4:00pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/14 "2025-10-12T16:00:31Z")

</div>

> [@ohrenkino](#):
>
> I doubt that that what you described (supplying a list of characters) ever worked.  
> I think that nothing has changed with this function.

I've downgraded to version v3.30.  
Now the old behavior is restored, and a separator list like "COMPOSER":";,/&" works perfectly.

I assume this was introduced with [#68782](https://community.mp3tag.de/t/68782).

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [October 12, 2025, 4:06pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/15 "2025-10-12T16:06:09Z")

</div>

> [@ohrenkino](#):
>
> Mike Knapp\Pino Grzybowsky\Pino\Mike

Interestingly, Mp3tag v3.30 creates from @ohrenkino's example string  
`Mike Knapp vs. Pino Grzybowsky v Pino s Mike`  
with `vs.` as separator  
`Mike Knapp\\Pino Grzybow\\ky\\Pino\\Mike`  
I don't think this is the desired behaviour, nor what I had expected... 🤔

**Update**  
There are some special cases that are worth noting:  
v3.30: "Earth, Wind & Fire" or "Emerson, Lake & Palmer" becomes 3 single ARTIST with a separator `;,/&`  
v3.31d: Doesn't change the ARTIST

Please be careful not to use `;,/&` in v3.30 for other group names, such as "Kool & the Gang", "Ike & Tina Turner", "Mumford & Sons" or "Klaus & Klaus".

---

<div class="post-metadata">

### Author: ![Cryptographer](https://community.mp3tag.de/user_avatar/community.mp3tag.de/cryptographer/32/21187_2.png) [@Cryptographer](https://community.mp3tag.de/u/Cryptographer)
#### Post date: [October 12, 2025, 4:17pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/16 "2025-10-12T16:17:35Z")

</div>

> [@LyricsLover](#):
>
> `Mike Knapp vs. Pino Grzybowsky v Pino s Mike`  
> with `vs.` as separator  
> `Mike Knapp\\Pino Grzybow\\ky\\Pino\\Mike`

To be honest, isn't that a really crazy example?

The optimal solution would be a list of valid separator strings, as well as removing all leading and trailing spaces from the destination tags.

---

<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: [October 12, 2025, 5:03pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/17 "2025-10-12T17:03:24Z")

</div>

You see me stumped.  
I always thought that the function only worked with a string constant.  
For me now the "Split by separator" action would be almost useless as the interpretation of the entered string as list would make it impossible to split e.g. by "vs" for the following selection of artists that have a VS, and/or a V and/or an S in the name

| Artist | Split Artist |
| --- | --- |
| `0 Musicians` | `0 Mu\\ician\\` |
| `0-visionen` | `0-\\i\\ionen` |
| `2 Brothers on the 4th Floor` | `2 Brother\\on the 4th Floor` |
| `2 Eivissa` | `2 Ei\\i\\\\a` |
| `2 Live Crew` | `2 Li\\e Crew` |
| `2 Men 4 Soul` | `2 Men 4 Soul` |
| `2 Phat Ladies` | `2 Phat Ladie\\` |
| `2 Pure Dust` | `2 Pure Du\\t` |
| `2 Uninterested (Tekno Mafia)` | `2 Unintere\\ted (Tekno Mafia)` |
| `2 Vibez` | `2\\ibez` |
| `2-4 Grooves` | `2-4 Groo\\e\\` |
| `2Inventions` | `2In\\ention\\` |
| `2Pac (Makaveli)` | `2Pac (Maka\\eli)` |
| `3 Besoffskis` | `3 Be\\off\\ki\\` |
| `3 Colours Red` | `3 Colour\\Red` |
| `3 Doors Down` | `3 Door\\Down` |
| `3 Man Island` | `3 Man I\\land` |
| `3 Melancholy Gypsies` | `3 Melancholy Gyp\\ie\\` |
| `3 Phase` | `3 Pha\\e` |
| `3 Speed` | `3\\peed` |
| `3apes Band` | `3ape\\Band` |
| `3rd Wish` | `3rd Wi\\h` |
| `3rdclassaliens` | `3rdcla\\\\alien\\` |
| `3SL` | `3SL` |
| `4 Apostel` | `4 Apo\\tel` |
| `4 Clubbers` | `4 Clubber\\` |
| `4 Non Blondes` | `4 Non Blonde\\` |
| `4 Strings` | `4 String\\` |
| `4 the Cause` | `4 the Cau\\e` |
| `BAUSA vs. Apache 207` | `BAUSA\\. Apache 207` |
| `Bushy vs. Sonic Boo` | `Bu\\hy\\. Sonic Boo` |
| `Camo & Krooked Vs Body & Soul` | `Camo & Krooked V\\Body & Soul` |
| `Emma Braslavsky` | `Emma Bra\\la\\ky` |
| `Friction vs Camo & Krooked` | `Friction\\Camo & Krooked` |
| `Futurebound Vs Metrik` | `Futurebound V\\Metrik` |
| `Kirk Degiorgio Vs Esoterik` | `Kirk Degiorgio V\\E\\oterik` |
| `Lisa Miskovsky` | `Li\\a Mi\\ko\\ky` |
| `Lucy Diakovska` | `Lucy Diako\\ka` |
| `Magvay & Novskyy` | `Mag\\ay & No\\kyy` |
| `Marjana Lipovsek` | `Marjana Lipo\\ek` |
| `Noam Brusilovsky` | `Noam Bru\\ilo\\ky` |
| `Noam Brusilovsky; Lucia Lucas` | `Noam Bru\\ilo\\ky; Lucia Luca\\` |
| `Peter Tchaikovsky` | `Peter Tchaiko\\ky` |
| `Rumena Bužarovska` | `Rumena Bužaro\\ka` |
| `Simone Kucher; Petros Ovsepyan` | `Simone Kucher; Petro\\O\\epyan` |
| `Tamara Jagellovsk` | `Tamara Jagello\\k` |
| `Tord Gustavsen Quartet` | `Tord Gu\\ta\\en Quartet` |
| `VS Mafia` | `\\Mafia` |

I would consider this behaviour to be a bug.  
I think we have to wait for a word by the developer.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [October 12, 2025, 5:17pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/18 "2025-10-12T17:17:30Z")

</div>

> [@ohrenkino](#):
>
> e.g. by "vs"

The same applies to 'feat.' and any other separator using an entire word.

Perhaps @florian could shed some light on this issue?

---

<div class="post-metadata">

### Author: ![Cryptographer](https://community.mp3tag.de/user_avatar/community.mp3tag.de/cryptographer/32/21187_2.png) [@Cryptographer](https://community.mp3tag.de/u/Cryptographer)
#### Post date: [October 12, 2025, 5:43pm UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/19 "2025-10-12T17:43:27Z")

</div>

My proposal for defining "separator" is as a series of character strings separated by \\.

Example:  
Old ";,/&"  
New ";\\,\\/\\&"

Then "vs." will meet your requirements and it will avoid multiple action definitions for a single field.

---

<div class="post-metadata">

### Author: ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)
#### Post date: [October 13, 2025, 10:02am UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/20 "2025-10-13T10:02:50Z")

</div>

> [@Cryptographer](#):
>
> I assume this was introduced with [#68782](https://community.mp3tag.de/t/68782).

Yes, I've re-implemented the action when fixing the linked issue. The way I've implemented the action is the intended behaviour, so that words or abbreviations like `feat.` can be used without problems.

What I've missed in my re-implementation is trimming spaces. Thanks for pointing this out! I'll fix this with the next release, so that only one action per separator character or string is necessary.

---

<div class="post-metadata">

### Author: ![Cryptographer](https://community.mp3tag.de/user_avatar/community.mp3tag.de/cryptographer/32/21187_2.png) [@Cryptographer](https://community.mp3tag.de/u/Cryptographer)
#### Post date: [October 13, 2025, 10:33am UTC](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981/21 "2025-10-13T10:33:08Z")

</div>

> [@Florian](#):
>
> What I've missed in my re-implementation is trimming spaces. … I'll fix this with the next release, …

Thank you.

What do you think about `;\\,\\/\\&` ?  
This could make such a list remarkable shorter:

 ![image](https://community.mp3tag.de/uploads/default/original/3X/c/b/cb659cc4682139401632e1c3c45f04784a574c8c.png)  
Or could it be a feature in the future?

[Next page](https://community.mp3tag.de/t/action-split-tag-field-does-not-work-any-longer/69981.md?page=2)
