# Doppelte Strings löschen

**URL:** https://community.mp3tag.de/t/doppelte-strings-loschen/7902
**Category:** Allgemein
**Created:** [February 9, 2009, 1:00pm UTC](https://community.mp3tag.de/t/doppelte-strings-loschen/7902 "2009-02-09T13:00:05Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![halok](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/h/6f9a4e/32.png) [@halok](https://community.mp3tag.de/u/halok)
#### Post date: [February 9, 2009, 1:00pm UTC](https://community.mp3tag.de/t/doppelte-strings-loschen/7902/1 "2009-02-09T13:00:05Z")

</div>

Hallo,

ich hab folgendes Problem beim Umbenennen der Tags.

Bei einigen Titel kommt es vor, dass Ausdrücke zweimal vorkommen. Das kann folgende Formen annehmen (meist im TITLE-TAG):

Songtitel ( **irgendetwas** ) ( **irgendetwas** )/( **irgendetwas** )

oder

Songtitel [**irgendetwas**]/ **irgendetwas**

oder

Songtitel ( **irgendetwas** ) ( **irgendetwas** )

wobei " **irgendetwas**" jeweils den gleichen String darstellt.

Ergebnis soll sein: Songtitel ( **irgendetwas** )

Kann ich das mit RegEx so maskieren, dass

1. Das Ersetzen nur dann zum Tragen kommt, wenn solch eine Formatierung vorliegt
2. Titel, die ein "/" enthalten, ohne etwas zu wiederholen (z.B. Songtitel/anderer Teil vom Songtitel (irendetwas)) nicht umgewandelt werden

Probiert habe ich schon  
(._)/._ --\> $1 wandelt auch Titel aus 2. um

Kann man sich wiederholende Strings irgendwie maskieren und so eine Wiederholung ausschließen?

---

<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: [February 10, 2009, 1:26pm UTC](https://community.mp3tag.de/t/doppelte-strings-loschen/7902/2 "2009-02-10T13:26:06Z")

</div>

So auf die Schnelle würde ich es mit drei regulären Ausdrücken machen, jeweils passend für den speziellen Fall:

```
1.1.
$regexp('Songtitel (irgendetwas) (irgendetwas)/(irgendetwas)','^(.+?) \((.+?)\) \(.+?\)\/\(.+?\)$',$1 ($2),0)
oder
1.2.
$regexp('Songtitel (irgendetwas) (irgendetwas)/(irgendetwas)',' (.+?)\/\1$',,0)
oder
1.3.
$regexp('Songtitel (irgendetwas) (irgendetwas)/(irgendetwas)','(\(.+?\)) \1\/\1',$1,0)

2.
$regexp('Songtitel [irgendetwas]/irgendetwas','^(.+?) \[(.+?)\]/.+?$',$1 ($2),0)
oder
2.2.
$regexp('Songtitel [irgendetwas]/irgendetwas','\[(.+?)\]/\1',($1),0)

3.1.
$regexp('Songtitel (irgendetwas) (irgendetwas)','^(.+?) \((.+?)\) \(.+?\)$',$1 ($2),0)
oder
3.2.
$regexp('Songtitel (irgendetwas) (irgendetwas)','^(.+?) (.+?) \2$',$1 $2,0)
oder
3.3.
$regexp('Songtitel (irgendetwas) (irgendetwas)','(\(.+?\)) \1',$1,0)

Ergebnis in allen Fällen: 
Songtitel (irgendetwas)

```

DD.20090210.1521.CET

---

<div class="post-metadata">

### Author: ![halok](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/h/6f9a4e/32.png) [@halok](https://community.mp3tag.de/u/halok)
#### Post date: [February 14, 2009, 7:44am UTC](https://community.mp3tag.de/t/doppelte-strings-loschen/7902/3 "2009-02-14T07:44:41Z")

</div>

Ich danke Dir, werds gleich mal ausprobieren...
