# Wie ersetzt man einen String mit eckigen Klammern



## marco604 (11. Nov 2006)

Moin!
Ich habe ein kleines Problem. Ich möchte gerne einen String wie in etwa " [WORT] " mit einen anderen ersetzen. Dabei ist zu beachten, dass die eckigen Klammern Teil des Strings sein sollen. Versucht habe ich es bisweilen mit der replaceAll-Methode. Wenn die diese aber anwende, erscheint es so, als ob die Klammern als eine Art Mengendefinition interpretiert werden. Also würde nach meinem Beispiel jedes W, O, R und T mit einem anderen String ersetzt.
Hintergrund des ganzen ist, dass ich eine Art BBCode (Wie z.B. hier im Forum) schreiben will. 
Die Frage lautet also eigentlich, wie maskiert man eine eckige Klammer in Java! 
Gruß und vielen Dank,
Marco


----------



## André Uhres (11. Nov 2006)

"\\[WORT\\]"


----------



## marble (11. Nov 2006)

genau... nennt sich escape sequence.. hier steht mittendrin ein wenig was zu... http://www.cl.uni-heidelberg.de/kurs/ss01/Java/Elemente/JavaForm.html


----------



## Gast (11. Nov 2006)

nur so nebenbei: du maskierst sie nicht für java sondern für die regex


----------



## Murray (11. Nov 2006)

Gast hat gesagt.:
			
		

> nur so nebenbei: du maskierst sie nicht für java sondern für die regex


Hier eigentlich beides: für regex ist das Escape-Zeichen ein einfacher Backslash, insofern wäre die richtge Expression \[WORT\]. Da in Java aber in String-Literalen der Backslash ebenfalls eine Esacpe-Sequenz einleitet, sind die doppleten Backslashes nötig.


----------



## marco604 (11. Nov 2006)

oh man, vielen dank! ich hab natürlich mit einem einfachern backslash versucht.....  :roll: 
jaja... alles nicht so einfach! auf jeden fall habt ihr mir ganz dolle geholfen!
gruß marco


----------

