# Reihenfolge von Komma-getrennten Einträgen ändern

**URL:** <https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103>\
**Category:** Allgemein\
**Created:** [September 3, 2014, 10:10am UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103 "2014-09-03T10:10:09Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon40879270](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/8797f3/32.png) [@anon40879270](https://community.mp3tag.de/u/anon40879270)\
**Post date:** [September 3, 2014, 10:10am UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103/1 "2014-09-03T10:10:09Z")

</div>

Ich möchte im Feld GENRE die Reihenfolge (durch Komma-leer getrennt) der Einträge nach folgendem Prinzip ordnen:  
"Sci-Fi" immer zuerst, restliche Reihenfolge unverändert. Die Anzahl der Einträge ist unterschiedlich. Wenn der Eintrag "Sci-Fi" nicht vorkommt aber "Fantasy" oder "Mystery", treten diese an die erste Stelle. Wenn keiner dieser Einträge vorkommt oder allein vorkommt, bleibt das Feld unverändert.

Beispiel vorher:  
Action, Sci-Fi, Thriller  
Drama, Sci-Fi, Thriller  
Komödie, Drama, Fantasy, Sci-Fi  
Drama, Sci-Fi  
Action, Abenteuer, Drama, Sci-Fi  
Drama, Fantasy, Mystery, Romanze, Thriller  
nachher:  
Sci-Fi, Action, Thriller  
Sci-Fi, Drama, Thriller  
Sci-Fi, Komödie, Drama, Fantasy  
Sci-Fi, Drama  
Sci-Fi, Action, Abenteuer, Drama  
Fantasy, Drama, Mystery, Romanze, Thriller

Wie müsste eine entsprechende Aktion aussehen?

---

<div class="post-metadata">

**Author:** ![anon40879270](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/8797f3/32.png) [@anon40879270](https://community.mp3tag.de/u/anon40879270)\
**Post date:** [September 3, 2014, 1:57pm UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103/2 "2014-09-03T13:57:25Z")

</div>

Also nur für Sci-Fi habe ich eine Lösung. Man müsste entsprechend Filtern.  
Ersetzen mit reg. Ausd. Allerdings nur bis zu 4 Einträgen.  
Alles in einer Aktion:

2 Einträge, 2. Stelle  
(.+), Sci-Fi  
Sci-Fi, $1

3 Einträge, 2. Stelle  
(.+), Sci-Fi, (.+)  
Sci-Fi, $1, $2

3 Einträge, 3. Stelle  
(.+), (.+), Sci-Fi  
Sci-Fi, $1, $2

4 Einträge, 2. Stelle  
(.+), Sci-Fi, (.+), (.+)  
Sci-Fi, $1, $2, $3

4 Einträge, 3. Stelle  
(.+), (.+), Sci-Fi, (.+)  
Sci-Fi, $1, $2, $3

4 Einträge, 4. Stelle  
(.+), (.+), (.+), Sci-Fi  
Sci-Fi, $1, $2, $3

---

<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:** [September 3, 2014, 3:47pm UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103/3 "2014-09-03T15:47:32Z")

</div>

> [@mbaa3](#):
>
> Also nur für Sci-Fi habe ich eine Lösung. Man müsste entsprechend Filtern.  
> ...

Wenn du sowieso filterst, dann geht auch der Ansatz mit brutaler Gewalt:  
eine Aktion "Ersetzen", die Sci Fi Komma Blank durch nichts ersetzt, also löscht. Da ist es dann Wurscht, wo das Sci Fi steht.  
Und gleich anschließend eine Aktion vom Typ "Text-feld Formatieren" für genre.  
mit dem Format-String: Sci Fi, %genre%

---

<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:** [September 3, 2014, 4:31pm UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103/4 "2014-09-03T16:31:24Z")

</div>

> [@mbaa3](#):
>
> Ich möchte im Feld GENRE die Reihenfolge (durch Komma-leer getrennt) der Einträge nach folgendem Prinzip ordnen: ...

Nur so eine erste Überlegung für den leichtesten Fall ...

**"Sci-Fi" immer zuerst, restliche Reihenfolge unverändert. 1. TMP\_GENRE \<== $regexp(%GENRE%,'(,\s+)',',')',' 2. TMP\_GENRE \<== $regexp(%TMP\_GENRE%,'^(.\*?,)?(Sci-Fi,)(.\*?,)?$','$2$1$3') 3. TMP\_GENRE \<== $trimRight(%TMP\_GENRE%,',') 4. TMP\_GENRE \<== $replace(%TMP\_GENRE%,',',', ') 5. GENRE \<== %TMP\_GENRE% 6. TMP\_GENRE \<== $char(0)**

DD.20140903.2031.CEST

---

<div class="post-metadata">

**Author:** ![anon40879270](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/8797f3/32.png) [@anon40879270](https://community.mp3tag.de/u/anon40879270)\
**Post date:** [September 3, 2014, 5:54pm UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103/5 "2014-09-03T17:54:18Z")

</div>

> [@ohrenkino](#):
>
> Sci Fi Komma Blank

Das müsste funktionieren! Allerdingd muss ich 2 Fälle unterscheiden:

1. wie obem; Sci-F steht in der Mitte,
2. Sci-F seht am Ende (ohne Komma).

Trotzdem: Danke

---

<div class="post-metadata">

**Author:** ![anon40879270](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/8797f3/32.png) [@anon40879270](https://community.mp3tag.de/u/anon40879270)\
**Post date:** [September 3, 2014, 6:00pm UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103/6 "2014-09-03T18:00:21Z")

</div>

> [@DetlevD](#):
>
> Nur so eine erste Überlegung für den leichtesten Fall ...  
> DD.20140903.2031.CEST

Der leichteste Fall würde mir schon genügen. Bei der Durchföhrung wird jedoch lediglich ein zusätzliches Leerzeichen nach dem Komma eingefügt. Weil ich die Aktionsreihenfolge aber nicht durchschaue, kann ich mich nicht auf Fehlersuche begeben.

Trotzdem: Danke

---

<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:** [September 3, 2014, 6:02pm UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103/7 "2014-09-03T18:02:36Z")

</div>

> [@mbaa3](#):
>
> Der leichteste Fall würde mir schon genügen. ...

**Filter: GENRE HAS "Sci-Fi" GENRE \<== 'Sci-Fi, '$trimRight($replace(%GENRE%', ','Sci-Fi, ',),', ')**

DD.20140903.2206.CEST

---

<div class="post-metadata">

**Author:** ![anon40879270](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/8797f3/32.png) [@anon40879270](https://community.mp3tag.de/u/anon40879270)\
**Post date:** [September 3, 2014, 7:22pm UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103/8 "2014-09-03T19:22:44Z")

</div>

Danke! Danke! Das hat auf Anhieb funktioniert. 1043 wurden ersetzt. Als Filter habe ich "%genre% HAS ", Sci-Fi"" genommen.

Nachtrag:  
Ich konnte die o. g. Aktion auch abgewandelt für andere Genre benutzen. Nochmals Danke für die Hilfe.

---

<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:** [September 4, 2014, 7:01am UTC](https://community.mp3tag.de/t/reihenfolge-von-komma-getrennten-eintragen-andern/16103/9 "2014-09-04T07:01:09Z")

</div>

> [@mbaa3](#):
>
> Danke! Danke! Das hat auf Anhieb funktioniert. ... Ich konnte die o. g. Aktion auch abgewandelt für andere Genre benutzen. Nochmals Danke für die Hilfe.

Hier ist dieselbe Funktion, etwas allgemeiner kodiert, zum Gebrauch mit variablen Eingabewerten.

**1: TMP\_ITEM \<== 'Sci-Fi'** 

**2: TMP\_ITEMLIST \<== %GENRE%  
3: TMP\_SEP \<== ', '  
4: GENRE \<== $ifgreater($strstr(%TMP\_ITEMLIST%,%TMP\_ITEM%),0,%TMP\_ITEM%%TMP\_SEP%$trimRight($replace($trim(%TMP\_ITEMLIST%,%TMP\_SEP%)%TMP\_SEP%,%TMP\_ITEM%%TMP\_SEP%,),%TMP\_SEP%),%TMP\_ITEMLIST%)  
5: TMP\_SEP \<== $char(0)  
6: TMP\_ITEMLIST \<== $char(0)  
7: TMP\_ITEM \<== $char(0)**

 

[Test2014\_20140903.Itemlist.SetItemToFirstPos.mta](https://community.mp3tag.de/uploads/default/original/2X/0/01111d2d1211e625c2d6db37d4c7954e17a51365.mta) (359 Bytes)

 

DD.20140904.1101.CEST

 

[Test2014\_20140903.Itemlist.SetItemToFirstPos.mta](https://community.mp3tag.de/uploads/default/original/2X/0/01111d2d1211e625c2d6db37d4c7954e17a51365.mta) (359 Bytes)
