# $meta\_sep und der "n." Eintrag

**URL:** https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200
**Category:** Allgemein
**Created:** [May 9, 2026, 10:51am UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200 "2026-05-09T10:51:40Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![ehrlacher](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/5e9695/32.png) [@ehrlacher](https://community.mp3tag.de/u/ehrlacher)
#### Post date: [May 9, 2026, 10:51am UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/1 "2026-05-09T10:51:40Z")

</div>

Heute mehr eine "How To"-Frage:

Ich will in bestimmten Feldern - z.B. Artist - alle Felder anzeigen lassen, bei denen am Anfang oder Ende Leerschläge, doppelte Leerschläge sind oder die mit "The ", "Der ", "Die ", "Das " beginnen.

Momentan mache ich dies mit

`("$meta_sep(composer,\\)" MATCHES "^\s+|\s+$|\s\\|\\\s|\s\s+|^The |^Die |^Das |^Der |\\The |\\Die |\\Das |\\Der ")`

Ich finde es ein bisschen "nervig", dass man jede mögliche Zeichenkette sowohl mit ^ als auch mit dem Seperator \ schreiben muss. Geht das auch einfacher?

---

<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 9, 2026, 11:54am UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/2 "2026-05-09T11:54:27Z")

</div>

Hattest du nicht schon einen Vorschlag für einen Filter, der auf führende und folgende Leerzeichen prüft hier bekommen:

> [@Anfangs-/Ende-Leerschläge bei Multi Value Feldern filtern](https://community.mp3tag.de/t/anfangs-ende-leerschlage-bei-multi-value-feldern-filtern/71112):
>
> Ich möchte mit einem Filter alle die Titel anzeigen, bei denen der Artist mit einem Leerschlag beginnt oder endet (um ihn dann zu "trim"men). %artist% MATCHES "^\s+|\s+$" findet zuverlässig alle Künstler, bei denen am Anfang ein Leerschlag steht - funktioniert aber nicht bei Multi Values (es sei denn, der Leerschlag steht am Anfang des ersten Künstlers oder am Ende des letzten Künstlers) Da der trim mit $trim($regexp($meta\_sep(artist,\),\s\*\\\s\*,\\)) funktioniert, wollte ich den Filter mit %…

---

<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 9, 2026, 12:11pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/3 "2026-05-09T12:11:55Z")

</div>

Für die Artikel könntest du so einen Ausdruck verwenden:  
`$ifgreater($strstr($replace($lower(\\$meta_sep(title,\\)),\\the ,###,\\der ,###,\\die ,###),###),0,Yes,no)`

---

<div class="post-metadata">

### Author: ![ehrlacher](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/5e9695/32.png) [@ehrlacher](https://community.mp3tag.de/u/ehrlacher)
#### Post date: [May 9, 2026, 12:29pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/4 "2026-05-09T12:29:07Z")

</div>

> [@ohrenkino](#):
>
> Hattest du nicht schon einen Vorschlag für einen Filter, der auf führende und folgende Leerzeichen prüft hier bekommen:

Ja, habe ich, der funktioniert auch - aber es geht in meiner Frage ja gar nicht darum, WIE ich es mache, sondern ob es nicht einen einfacheren Weg gibt. Das WIE habe ich mir ja mit Deiner Hilfe von "damals" bereits selbst gebastelt:

`"$meta_sep(composer,\\)" MATCHES "^\s+|\s+$|\s\\|\\\s"`

aber der macht ja eben das, was ich gerade hinterfrage, er prüft sowohl auf ein Muster für den 1. Composter (^\s+) als auch auf ein Leerzeichen für den 2.-n. Composer über \\s .

Daher habe ich es auf

`"$meta_sep(composer,\\)" MATCHES "^\s+|\s+$|\s\\|\\\s|^The |^Die |^Das |^Der |\\The |\\Die |\\Das |\\Der "`

erweitert, das funktioniert auch. Ich muss aber bei jedem Eintrag (Der, Die, Das...) sowohl die "^" als auch die "\" Möglichkeit abprüfen und da fragte ich mich, ob es dafür eine Vereinfachung gibt, die ich noch nicht kenne...

Ich habe es jetzt für den Filter wie obenstehend und als Funktion mit

`$if($neql($regexp($meta_sep(composer,§),'&|;|^\s+|\s+$|\s+§|§\s+|\s§|\s\s+|§\s|feat\.|featuring|Feat\.|Featuring|^The |^Die |^Das |^Der |§The |§Die |§Das |§Der |\(\+|\w+\s{2,}\w+|\"',''),$meta_sep(composer,§)),❌,$if($eql($regexp($meta_sep(composer,§),'[^a-zA-Z0-9äöüÄÖÜ=ß ''\-\(\)\/:\.\?!#\+@_%§\*]',''),$meta_sep(composer,§)),,❌))`

gelöst (ich verwende inzwischen das `§` statt `\` , damit ich auch einzelne `\` oder eben `\\\` als fehlerhafte Separatoren angezeigt bekomme).

"Einfacher" scheint es wohl nicht zu gehen...

---

<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 9, 2026, 12:37pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/5 "2026-05-09T12:37:07Z")

</div>

Wenn ich das richtig verstehe, ist es doch erstmal völlig egal, ob auf die randständigen Leerzeichen dann noch ein Artikel folgt oder nicht - die Leerzeichen sollen doch schlussendlich sowieso weg.  
Wenn du dir meinen Ausdruck ansiehst  
`$ifgreater($strstr($replace($lower(\\$meta_sep(title,\\)),\\the ,###,\\der ,###,\\die ,###),###),0,Yes,no)`  
bemerkst du vielleicht die beiden `\\` vor $meta\_sep().  
Dies führt dazu, dass das geprüfte Feld immer mit `\\` anfängt, ich also nie auf den Beginn mit `^` prüfen muss.  
Die Liste der dann folgenden Artikel kann einfach in $replace() verlängert werden, falls auch italienisch, französisch oder spanisch oder was auch immer dazukommen sollte.  
Warum jetzt Leerzeichen und Artikel in einem Ausdruck abgehandelt werden müssen, erschließt sich mir nicht.

---

<div class="post-metadata">

### Author: ![ehrlacher](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/5e9695/32.png) [@ehrlacher](https://community.mp3tag.de/u/ehrlacher)
#### Post date: [May 9, 2026, 1:15pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/6 "2026-05-09T13:15:34Z")

</div>

> [@ohrenkino](#):
>
> Warum jetzt Leerzeichen und Artikel in einem Ausdruck abgehandelt werden müssen, erschließt sich mir nicht.

Weil ich für jedes Feld EINEN Filter habe, der mir dann anzeigt "Hier ist was falsch/zu checken..." - dann lasse ich über alle diese Files meine Korrekturgruppe drüber laufen, gucke dann, was immer noch "falsch/zu checken" ist - und dann wird es entweder in die Korrekturgruppe aufgenommen oder bleibt stehen.

Warum EIN Filter?  
Weil zwei Filter doppelte Arbeit bedeuten - ich will das alles in einem Rutsch.

Und warum ich nicht alles in der Korrekturgruppe abfange, habe ich gestern wieder gemerkt - da darf zwar gerne aus "Die Flippers" -\> Flippers oder aus "The Bee Gees" werden, aber bitte nicht aus "Die Happy" -\> Happy oder aus "The The" -\> The (oder aus dem belgischen Sänger The Lau -\> Lau... 😉

---

<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 9, 2026, 5:30pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/7 "2026-05-09T17:30:55Z")

</div>

> [@ohrenkino](#):
>
> Leerzeichen und Artikel in einem Ausdruck

Damit meinte ich, dass die Filterausdrücke auch über ein "OR" verknüpft werden können und so in separate Teile aufgeteilt wartbarer werden.  
Es wäre also nicht nötig, einen langen regulären Ausdruck zu erzeugen, der dann wiederum Redundanzen aufweist.

---

<div class="post-metadata">

### Author: ![ehrlacher](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/5e9695/32.png) [@ehrlacher](https://community.mp3tag.de/u/ehrlacher)
#### Post date: [May 9, 2026, 5:44pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/8 "2026-05-09T17:44:53Z")

</div>

> [@ohrenkino](#):
>
> Damit meinte ich, dass die Filterausdrücke auch über ein "OR" verknüpft werden können und so in separate Teile aufgeteilt wartbarer werden.  
> Es wäre also nicht nötig, einen langen regulären Ausdruck zu erzeugen, der dann wiederum Redundanzen aufweist.

Hm, genau das mache ich doch ...

Klar kann man noch ein OR .. anfügen.... . verstehe aber den Sinn nicht oder konkret:  
Wie würdest Du es als Filter schreiben?

Hier meine Lösung:

`(("$meta_sep(composer,§)" MATCHES "^\s+|\s+$|\s§|§\s|\s\s+|^The |^Die |^Das |^Der |§The |§Die |§Das |§Der ") OR (NOT "$meta_sep(composer,§)" MATCHES "^[a-zA-Z0-9äöüÄÖÜ=ß \-\(\)\/:\.\?!#\+_%\*\'§]+$")) AND (NOT %composer% MATCHES (^$))`

---

<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 9, 2026, 5:54pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/9 "2026-05-09T17:54:14Z")

</div>

> [@ehrlacher](#):
>
> `("$meta_sep(composer,§)" MATCHES "^\s+|\s+$|\s§|§\s|\s\s+|^The |^Die |^Das |^Der |§The |§Die |§Das |§Der "`

könnte werden zu `"$meta_sep(composer,§)" MATCHES "^\s+|\s+$|\s§|§\s|\s\s+" OR "$ifgreater($strstr($replace($lower(\\$meta_sep(composer,\\)),\\the ,###,\\der ,###,\\die ,###),###),0,Yes,no) IS YES"`

---

<div class="post-metadata">

### Author: ![ehrlacher](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/5e9695/32.png) [@ehrlacher](https://community.mp3tag.de/u/ehrlacher)
#### Post date: [May 9, 2026, 6:16pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/10 "2026-05-09T18:16:33Z")

</div>

Aber ist das kürzer?!

---

<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 9, 2026, 6:22pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/11 "2026-05-09T18:22:46Z")

</div>

Kürzer heißt ja nicht unbedingt übersichtlicher. Ich habe mein Augemerk eher auf die Vermeidung von

> [@ehrlacher](#):
>
> "nervig", dass man jede mögliche Zeichenkette sowohl mit ^ als auch mit dem Seperator \ schreiben muss. Geht das auch einfacher?

Bei meinem Vorschlag muss jeder Artikel (oder welches Wort da am Anfang sonst gefunden werden soll) nur 1x definiert werden.

---

<div class="post-metadata">

### Author: ![ehrlacher](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/5e9695/32.png) [@ehrlacher](https://community.mp3tag.de/u/ehrlacher)
#### Post date: [May 9, 2026, 6:24pm UTC](https://community.mp3tag.de/t/meta-sep-und-der-n-eintrag/71200/12 "2026-05-09T18:24:59Z")

</div>

Da hast Du Recht. Ich finde da nur tatsächlich das anhängen der "doppelten" Zeichenketten übersichtlicher als die If/Yes/No Verschachtelung (die ich in Filtern auch ehrlich gesagt noch nie verwendet habe, werde mir das später am Rechner mal anschauen...)
