# In AKTIONEN mehrere "Original" optionen

**URL:** <https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356>\
**Category:** Allgemein\
**Created:** [August 29, 2022, 2:50pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356 "2022-08-29T14:50:37Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![witzker](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/87869e/32.png) [@witzker](https://community.mp3tag.de/u/witzker)\
**Post date:** [August 29, 2022, 2:50pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/1 "2022-08-29T14:50:37Z")

</div>

Hi, bin neu mit dem Programm und muss sagen - NICHT schlecht!  
Da ja die Nützlichkeit jeder Software durch die Kenntnisse des Benutzers beschränkt wird  
hier mal meine erste Frage.  
Ich möchte im Feld ARTIST folgendes durch " **Ft.**" ersetzen:  
**Featuring  
Feat  
feat.  
ft  
usw**

Habs mal so versucht - Geht aber NICHT

![image](https://community.mp3tag.de/uploads/default/original/2X/b/bed86438a5e327cfe7df7b81950bebf673e72573.png)

Wie ist denn bitte hierfür die korrekte Syntax?  
Hoffe auf kundige Hilfe  
THX

---

<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:** [August 29, 2022, 3:04pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/2 "2022-08-29T15:04:01Z")

</div>

Die Aktion "Ersetzen" verhält sich so, wie in vielen anderen Programmen auch:  
Es wird 1 Suchbegriff gesucht und durch den bei "Ersetzen" genannten ersetzt.

Wenn also das Original wirklich so heißt "Feat,.Featuring", dann wird dafür "Ft." eingesetzt.  
Bei "Original" findet keine Listenbildung statt.

Für solch grundlegende Fragen bietet sich auch ein Blick in die Dokumentation an, z.B.:

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

In der Dokumentation findet sich auch die Beschreibung der Scripting-Funktionen,

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

hier vielleicht besonders die Funktion

`$replace(x,y,z)` returns the string x with all occurrences of string y replaced by string z. Supports multiple parameter pairs y and z.

---

<div class="post-metadata">

**Author:** ![witzker](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/87869e/32.png) [@witzker](https://community.mp3tag.de/u/witzker)\
**Post date:** [August 29, 2022, 3:22pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/3 "2022-08-29T15:22:20Z")

</div>

> [@ohrenkino](#):
>
> Wenn also das Original wirklich so heißt "Feat,.Featuring",

NEIN hier habe ich versucht.  
Featuring OR Feat OR feat. OR ft

Mit Ft. zu ersetzen.  
ABER so wie du schreibst, ist das so oder eben mit der richtigen syntax nicht vorgesehen??!

> [@ohrenkino](#):
>
> `$replace(x,y,z)` returns the string x with all occurrences of string y replaced by string z. Supports multiple parameter pairs y and z.

OHA! Das wird kompliziert (wenn man das noch nicht richtig versteht.)  
Bitte vielleicht das Beispiel für die Praxis.  
Wie muss das denn bitte lauten, wenn ich nach:  
**Featuring** OR **Feat** OR **feat.** OR **ft** suchen möchte und den Treffer mit **Ft.** ersetzen möchte.

Danke für Info

---

<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:** [August 29, 2022, 3:30pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/4 "2022-08-29T15:30:25Z")

</div>

> [@witzker](#):
>
> NEIN hier habe ich versucht.  
> Featuring OR Feat OR feat. OR ft

In welchem Programm hast du denn jemals so eine Syntax zum Suchen und Ersetzen anwenden können?

Das Beispiel wäre:  
aktion vom Typ "Tag-Feld formatieren" für ARTIST  
Format string: $replace(%artist%,Featuring,Ft.,Feat,Ft.,ft,Ft.)

Aber Achtung: mindestens die letzte Kombination ist gefährlich, weil die auch in "After the Fire", "Abstürzende Brieftauben", "Bugge Wesseltoft", "Daft Punk" etc. das "ft" durch "Ft." ersetzen würde.

---

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [August 29, 2022, 3:33pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/5 "2022-08-29T15:33:04Z")

</div>

> Das Beispiel wäre:  
> aktion vom Typ "Tag-Feld formatieren" für ARTIST  
> Format string: $replace(%artist%,Featuring,Ft.,Feat,Ft.,ft,Ft.)

Oder den gleichen Formatstring im Konverter Tag-\>Tag mit dem Vorteil der Voransicht auf das Ergebnis.

---

<div class="post-metadata">

**Author:** ![witzker](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/87869e/32.png) [@witzker](https://community.mp3tag.de/u/witzker)\
**Post date:** [August 29, 2022, 3:38pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/6 "2022-08-29T15:38:37Z")

</div>

Ja Hallo!  
Das ist ja mal wirklich ein tolles Forum!!  
Vielen Dank für die schnelle Hilfe!🙂

---

<div class="post-metadata">

**Author:** ![Crissov](https://community.mp3tag.de/user_avatar/community.mp3tag.de/crissov/32/6619_2.png) [@Crissov](https://community.mp3tag.de/u/Crissov)\
**Post date:** [August 29, 2022, 3:41pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/7 "2022-08-29T15:41:15Z")

</div>

oder halt etwas Regex-Magie wie `$regexp(%artist%,\bf(ea)?t(uring|\.)?\b,Ft.,1)`

---

<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:** [August 29, 2022, 3:42pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/8 "2022-08-29T15:42:31Z")

</div>

> [@Crissov](#):
>
> `$regexp(%artist%,\bf(ea)?t(uring|\.)?\b,Ft.,1)`

müsste da nicht vor und hinter das "Ft." jeweils noch ein Leerzeichen?

---

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [August 29, 2022, 3:50pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/9 "2022-08-29T15:50:52Z")

</div>

> [@ohrenkino](#):
>
> Aber Achtung: mindestens die letzte Kombination ist gefährlich, weil die auch in "After the Fire", "Abstürzende Brieftauben", "Bugge Wesseltoft", "Daft Punk" etc. das "ft" durch "Ft." ersetzen würde.

Diese Klippe könnte man mit dem Format String  
`$replace(%artist%,Featuring,Ft.,Feat,Ft., ft , Ft. )`  
umschiffen. (zusätzliche Leerzeichen)

---

<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:** [August 29, 2022, 3:53pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/10 "2022-08-29T15:53:16Z")

</div>

Du hast Recht.  
Ich wollte nur auf diese Falle hinweisen.  
Die gilt übrigens auch noch für "Feat":  
Charlie Feathers,  
Little Feat,  
NDR featurebox

---

<div class="post-metadata">

**Author:** ![witzker](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/87869e/32.png) [@witzker](https://community.mp3tag.de/u/witzker)\
**Post date:** [August 29, 2022, 3:53pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/11 "2022-08-29T15:53:17Z")

</div>

@ohrenkino  
OR, AND, NOT, LIKE  
Ist SQL!!

---

<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:** [August 29, 2022, 3:56pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/12 "2022-08-29T15:56:56Z")

</div>

OR, AND, NOT könntest du auch in Filtern in MP3tag anwenden - und so etwas wäre das ja auch implizit bei SQL: eine Abfrage, die die Gesamtdatenmenge reduziert.  
Dort wird aber wohl nicht gesucht und ersetzt wie in klassischen Textverarbeitern - und da kenne ich kein Programm, das SQL oder so verwendet für ein einfaches Ersetzen von Text-Konstanten.  
Deshalb die eigentlich rhetorische Frage, welcher Textverarbeiter solche Möglichkeiten bieten würde.  
Ist jetzt egal. wir haben die unterschiedlichen Möglichkeiten in MP3tag geklärt.

---

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [August 29, 2022, 3:59pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/13 "2022-08-29T15:59:51Z")

</div>

> [@ohrenkino](#):
>
> Little Feat

Und diese Falle lässt sich dann auch mit Leerzeichen davor und dahinter nicht immer umschiffen, denn hinter Feat in könnte durchaus noch ein Leerzeichen in der Quelle sein.  
Beispiel: `Little Feat feat. Emmylou Harris, Sam Bush & Béla Fleck`

---

<div class="post-metadata">

**Author:** ![witzker](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/87869e/32.png) [@witzker](https://community.mp3tag.de/u/witzker)\
**Post date:** [August 29, 2022, 4:07pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/14 "2022-08-29T16:07:04Z")

</div>

Danke !  
Nun zurück zum Anfang:  
Da ja die Nützlichkeit jeder Software durch die Kenntnisse des Benutzers beschränkt wird  
hier nochmal meine erste Frage.als Neuling?  
Wie gehts nun bitte ohne Falle?  
Um anhand dieses Beispiels die Thematik besser zu verstehen 🙂

---

<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:** [August 29, 2022, 4:54pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/15 "2022-08-29T16:54:52Z")

</div>

> [@witzker](#):
>
> Wie gehts nun bitte ohne Falle?

Die Falle kommt doch von dir, weil du die Begriffe nicht als Wörter abgegrenzt hast. "Featuring" ist so lang, dass es vermutlich nur in dieser Buchstabenkombination und dann alleinstehend vorkommt.  
Alle Abkürzungen aber brauchen noch zusätzliche Begrenzungszeichen davor oder dahinter oder an beiden Ecken, um nicht auch ersetzt zu werden, wenn sie als Wortbestandteil vokommen. Beispiele für Wortbestandteile habe ich genannt.

Dieses Problem tritt auf, wenn du die Scripting-Funktion verwendest.  
Wenn du die Aktion "Ersetzen" nimmst und jeweils immer nur 1 Begriff als Original und 1 Begriff für "Ersetzen mit" festlegst und zusätzlich "Nur Wort" auswählst, gibt es dieses Problem nicht.  
Dieses Problem ist übrigens keines von MP3tag, sondern der verwendeten Daten. Das würde dir auch in jedem anderen Programm bei Suchen/Ersetzen so gehen, wenn du die Rahmenbedingungen nicht beachtest.

---

<div class="post-metadata">

**Author:** ![witzker](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/87869e/32.png) [@witzker](https://community.mp3tag.de/u/witzker)\
**Post date:** [August 29, 2022, 6:14pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/16 "2022-08-29T18:14:16Z")

</div>

Ok  
Wie würdest Du als erfahrener Nutzer das Problem die Einträge zu verändern denn umsetzen?

---

<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:** [August 29, 2022, 6:20pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/17 "2022-08-29T18:20:25Z")

</div>

Die Wege sind doch beschrieben worden.  
Aber jeder Weg hat eben seine Pferdefüße:  
Bei der Aktion "Ersetzen" ist die Benutzerführung eng und die Fehlerquote vermutlich gering, es ist aber mehr Fleiß erforderlich.

Die Scripting-Funktion $replace() erfordert nicht mehr ganz so viel Fleiß, aber eben schon mehr Knowhow und Voraussicht, wo die verwendeten Daten womöglich unerwünschte Nebeneffekte haben.  
Die Scripting-Funktion $regexp() erfordert am wenigsten Fleiß bei der Eingabe aber noch mehr Knowhow für die Konstruktion des Codes.

Also: es ist für jeden etwas dabei, das er je nach Abschnitt auf der Lernkurve anwenden kann.

Zum konkreten Fall: im Moment wird lediglich geprüft, ob Leerzeichen vor dem zu ersetzenden Wort stehen. Ich vermute aber, es könnten auch noch Klammern in unterschiedlichster Ausprägung verwendet worden sein. oder vielleicht Bindestriche.  
Wie die dann zu behandeln sind, ist dann Ergebnis der Einzelfallprüfung.

---

<div class="post-metadata">

**Author:** ![witzker](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/87869e/32.png) [@witzker](https://community.mp3tag.de/u/witzker)\
**Post date:** [August 29, 2022, 6:24pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/18 "2022-08-29T18:24:19Z")

</div>

Ok Danke  
Welchen code würdest du konkret anwenden❓  
Anhand deines Beispiels könnte ich dann die Funktionen nachvollziehen und lernen 🙂

---

<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:** [August 29, 2022, 6:30pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/19 "2022-08-29T18:30:32Z")

</div>

Die Beispiele sind doch alle da:  
Aktion vom Type "Ersetzen" mit Benutzerführung und allen gängigen Optionen wie Wort und Schreibweise.

> [@ohrenkino](#):
>
> aktion vom Typ "Tag-Feld formatieren" für ARTIST  
> Format string: $replace(%artist%,Featuring,Ft.,Feat,Ft.,ft,Ft.)

oder

> [@Crissov](#):
>
> $regexp(%artist%,\bf(ea)?t(uring|.)?\b, Ft. ,1)

welches kannst du besser interpretieren?

---

<div class="post-metadata">

**Author:** ![witzker](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/87869e/32.png) [@witzker](https://community.mp3tag.de/u/witzker)\
**Post date:** [August 29, 2022, 6:35pm UTC](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356/20 "2022-08-29T18:35:04Z")

</div>

> [@Crissov](#):
>
> $regexp(%artist%,\bf(ea)?t(uring|.)?\b, Ft. ,1)

Das geht garnicht!  
Ist aber interessant  
Gibts ein Link mit Erklärungen

Das andere kommt in das Aktionen fenster  
Richtig?

[Next page](https://community.mp3tag.de/t/in-aktionen-mehrere-original-optionen/58356.md?page=2)
