Kleines Problem mit einer Regex

Martin240

Grünschnabel
Hi.

Ich arbeite gerade an einem größeren Projekt, bei dem wir eine vorhandene XML Datenbank per Java und SAXParser zu einem großen Haufen HTML-Seiten umwandeln sollen. Dabei muss ich im Laufe des Programmes die zu sortierenden Titel etwas beschneiden, weil es unschöne Zusatzinformationen in Klammern darin gibt. In der Klammern können Buchstaben und Ziffern auftreten, aber auch zum Beispiel Zeichen wie * oder '. Jetzt habe ich mich mit regulären Ausdrücken noch nicht so weit auseinandergesetzt, aber ich habe folgendes Schema zusammengebastelt, um die Klammern zu entfernen:

Code:
x = x.replaceAll("\\([\\w\\W]*\\)", "");

Dieser Ausdruck arbeitet auch soweit wunderbar (es geht sicher besser :) ), nur leider trifft er dann irgendwann auf den folgenden oder einen ähnlich aufgebauten String:

International Conference on Automated Planning and Scheduling (ICAPS) / Conference on Artificial Intelligence Planning Systems (AIPS)

Und was dabei herauskommt ist dann:

International Conference on Automated Planning and Scheduling

Nicht weiter verwunderlich, da das genau das ist was der Ausdruck macht. Nur leider ist es nicht das, was ich haben will :-( Er schneidet von der ersten bis zur letzten Klammer alles weg. Ich denke greedy ist hier das Stichwort, nur leider habe ich keinen blassen Schimmer, wie ich dieses Problem lösen kann. Er soll nur die Klammern inklusive deren Inhalt wegschneiden, aber nicht den Rest.

Für jeglichen Rat bin ich dankbar :)

MFG
Martin
 
Das ist es, wonach ich gesucht habe. Zumindest sieht es im Moment noch so aus :D
Danke erstmal. Sollte ich auf noch andere Probleme stoßen, dann melde ich mich wieder ;)
 

Neue Beiträge

Zurück