2017-11-28 2 views
0

Ich habe eine Zeichenfolge wie:Kann ich regexp verwenden, um Text in Anführungszeichen zu setzen?

some text here 'quoted text here' some more text 

ich ohne die Anführungszeichen den ‚zitierten Text hier‘ bekommen möchten. Neben der Verwendung von indexOf (') und dann Teilzeichenfolge, wie kann ich dies mit einem regulären Ausdruck in Java nachschlagen?

+1

verwenden regex '‚([^‘] *)" 'und ersten erfassten Gruppe – anubhava

+0

Split es auf der Apostrophe, verwenden und das Element 1 erhalten (und andere ungeradzahlige Elemente gegebenenfalls) aus dem resultierendes Array. –

+0

Verwenden Sie ** Erfassungsgruppen **. Zum Beispiel mit einem Muster wie '' (. +) '' Und dann fangen an, dies mit 'Matcher # finden' zu vergleichen und die Gruppe mit 'Matcher # Gruppe' zu extrahieren, die Gruppe ist ** Gruppe 1 **. Du musst vielleicht '' 'als' \\ 'entkommen, ich bin mir nicht sicher, teste es einfach. – Zabuza

Antwort

2
String text = "some text here 'quoted text here' some more text"; 
String regex = "'(.*?)'"; 
Pattern pattern = Pattern.compile(regex); 
Matcher m = pattern.matcher(text); 
if (m.find()){ 
     String s = m.group(1); 
     System.out.println(s); 
} 
+1

'' 'ist nicht speziell in Regex (zumindest in Java Flavor), so dass es nicht notwendig ist, es zu entkommen. – Pshemo

+0

Richtig, ich habe den Tippfehler korrigiert – magnum87

Verwandte Themen