2016-10-04 4 views
1

Ich versuche, alles in der „()“ und alle Räume in Java zu entfernen mit regrex Ich bin in der Nähe ist hier die ZeichenfolgeRegulärer Ausdruck alle Leerzeichen zu entfernen

First Last "(Some stuff)" 

Und hier ist mein regrex

\s\"\([^)]*\)\" 

das einzige, was es nicht tut, entfernen Sie den Abstand zwischen ersten und letzten?

Wie kann ich das hinzufügen?

+0

Was ist Ihre erwartete Ausgabe? – Qix

Antwort

3

können Sie altenration verwenden, um Text innerhalb (..) oder Räume entsprechen:

str = str.replaceAll("\"\\([^)]*\\)\"|\\s+", ""); 

RegEx Demo

+0

Die Zeichenkette 'Test: '(das ist (c) copyright me):' End 'wird nicht * entfernen alles innerhalb der"() "*, mit dieser Regex. Diese Regex funktioniert: '" \ (. *? \) "| \ S +' – Andreas

+0

@Andreas: Ja, wenn es Fälle von geschachtelten Klammern gibt, dann '\ (. *? \)' Shoud work. – anubhava

-1
/** 
* remove any spaces such as:<br> 
* (<b>\n</b>, <b>\t</b> <b>System.lineSeparator()</b>, <b>\r</b>)...etc 
* */ 
public static String killSpaces(String str) throws Exception { 
    return str.replaceAll("\\s+", ""); 
} 
+0

OP möchte * alles innerhalb des '"() "' * entfernen. Diese Antwort schlägt fehl. – Andreas

Verwandte Themen