Hey Romero,
versuchs mal so. So in der Art hat's bei eigentlich immer funktioniert.
1. Sortiere das array absteigend (oder aufsteigend)
2. For-Schleife über das gesamte Array mit inkrementellem Zähler (dekrementellem Zähler)
3. Wenn der Zähler sich nicht im ersten Durchlauf befindet, prüfe, ob der Substring (den du oben schon verwendest, wobei Du den optionalen zweiten Parameter weglässt) dem Substring des zuletzt durchlaufenen Elements entspricht. Wenn ja, dann das aktuelle Element löschen.
Hab's grad nicht getestet, müsste aber in etwa so funktionieren.
Gruß, Dennis