# RowFilter Case Insensitive Problem



## beens0n (23. Feb 2012)

Hallo,

ich habe ein Problem mit meinem RowFilter. Nicht das Case Insensitive suchen an sich macht Probleme, dass klappt super. Hier mal ein Ausschnitt:


```
sorter.setRowFilter(RowFilter.regexFilter(("?i ") + textField.getText()));
```
Der Teil ("?i ") ist hierbei dafür zuständig, dass die Suche Case Intensitive abläuft. Mein Problem ist aber folgendes. Es gibt Zeichen, mit denen hat er keine Problem, suche ich nach einer Tilde ~ ist das kein Problem, steht aber ein Stern * am Anfang des Strings kommt folgende Fehlermeldung:

[WR]Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 0
?i *[/WR]

Gibt es eine einfache Möglichkeit das zu umgehen? Könnte einen try/catch Block drum bauen, aber dabei gefällt mir nicht, dass * die Anzeige meiner JTable nicht verändert, ~ aber schon (da ich keine Strings mit ~ habe ist sie leer). Meine Idee wäre eine Abfrage zu erstellen, die alle Sonderzeichen verbietet, außer .,- und (), aber bei der Klammer ists leider das selbe Problem, wie beim Stern, steht sie am Anfang gibts eine Exception.


----------



## DanZ (23. Feb 2012)

Wenn ich dich richtig verstehe sollte dir Pattern.quote() helfen.


----------



## faetzminator (24. Feb 2012)

Ja, [c]RowFilter.regexFilter("?i " + Pattern.quote(textField.getText()))[/c] ist die Lösung.


----------



## beens0n (24. Feb 2012)

Super, vielen Danke :applaus: Hat mir unschöne Schleifen erspart  Allerdings musste ?i noch in Klammern


----------

