Entfernen von Klammern in Zeichenfolgen (Java)

8

Ich möchte alle Arten von eckigen Klammern (Beispiel: [], (), {}) in der Zeichenkette mit java entfernen.

Ich habe versucht, diesen Code zu verwenden:

%Vor%

Aber es funktioniert nicht, hilf mir bitte.

    
Muhammad Haryadi Futra 15.09.2014, 16:50
quelle

6 Antworten

13

Um alle Interpunktionszeichen zu entfernen, die alle Klammern, geschweifte Klammern und eckige Klammern enthalten, lautet die Frage:

%Vor%     
StackFlowed 15.09.2014, 16:52
quelle
19

Das erste Argument von replaceAll benötigt einen regulären Ausdruck.

Alle Klammern haben in Regex Bedeutung: Klammern werden in Regex verwendet, um Gruppen einzufangen , eckige Klammern werden für Zeichenklassen & amp; Klammern werden für übereinstimmendes Zeichenvorkommen verwendet. Deshalb müssen sie alle geflüchtet sein ... Allerdings können hier die Zeichen einfach in eine Zeichenklasse mit einbezogen werden Escaping erforderlich für eckige Klammern

%Vor%     
Reimeus 15.09.2014 16:54
quelle
4

Das erste an die Methode replaceAll() übergebene Argument sollte ein regulärer Ausdruck sein. Wenn Sie diese wörtlichen Klammerzeichen abgleichen möchten, müssen Sie \( , \) sie auskommentieren.

Sie können Folgendes verwenden, um Klammerzeichen zu entfernen. Unicode-Eigenschaft \p{Ps} passt zu jeder Art von öffnender Klammer und Unicode-Eigenschaft \p{Pe} entspricht jeder Art von schließender Klammer.

%Vor%     
hwnd 15.09.2014 17:01
quelle
2

Sie müssen der Klammer entkommen, da sie als Teil einer Regex behandelt wird

%Vor%

Um alle Klammern zu entfernen, versuchen Sie

%Vor%     
AbstractChaos 15.09.2014 16:52
quelle
2

Sie können String.replace anstelle von String.replaceAll für bessere Leistung verwenden, da nach der genauen Sequenz gesucht wird und keine regulären Ausdrücke benötigt werden.

%Vor%

Wenn Sie mit Texten arbeiten, empfehle ich Ihnen, die Klammern durch ein Leerzeichen zu ersetzen, um zu vermeiden, dass Wörter zusammenkommen: watching tv(at home) -> watching tvat home

    
Javi Fernández 15.09.2014 16:56
quelle
0

subject = StringUtils.substringBetween (Betreff, "[", "]")

    
Santhosh Hirekerur 08.12.2015 08:31
quelle

Tags und Links