Klammern im String

Bonsai

Bekanntes Mitglied
Hallo,
ich wollte mal nachfragen ob jemand einen regex kennt, welcher strings die nur aus Klammern bestehen, also Geschweiften-, Eckigen-, Normalen-Klammern und evtl noch Leerzeichen, entfernt. Aber wenn in dem String Buchstaben oder Zahlen vorkommen dann soll er nichts machen.
Kann mir da einer helfen?

Gruß
Bonsai
 
Hast du mal nen Beispiel?
"123{[][{456{}][{)("
Soll er da nur die Klammern entfernen so dass du am schluss 123456 hast?
 
also bei solchen zeilen "{ (}{ )}}{ { (}{ )}}" soll er alles löschen aber wenn jetzt die Zeile so lauten würde "{ (}{ )}}{ test{ (}{ )}}" sollte er nur die leeren klammern löschen. das wär allerdings dann die optimale lösung🙂.
 
Wenn ich es richtig verstanden habe soll er
[{{]][]{[]{
123[]]}{[]
14364

erste Zeile entfernen und die anderen beiden lassen, dabei wäre die frage, wie es mit Sonderzeichen steht?

EDIT: OK, zweite noch die Klammern löschen
 
sonderzeichen sollen auch beibehalten werden
@Andi ja genau, wenn er dann aber in dem die leeren klammern entfernen würde är es optimal
 
Evtl. geht das in die Richtung was du suchst.
Java:
    public static void main ( String [] args ) throws IOException {
    	System.out.println(removeEmptyBrackets("{ (}{ )}}{ test{ (}{ )}}"));
    }  
    
    public static String removeEmptyBrackets(String expr) {
    	expr = expr.replaceAll("\\{[\\{\\(\\[\\]\\)\\} ]+\\}", "");
    	return expr;
    }
 

Zurück
Oben