2017-01-04 23 views
1

Ich weiß, sein bereits beantwortet, aber ich bin kämpfen, um die Nummer aus dem angegebenen StringExtract Anzahl von in einem String

internal-pdf://2586543536/Homan-2014-RNA tertiary structure analysis by.pd 

I "2586543536"

ich folgend bin mit extrahieren müssen extrahieren Regex, das ist sicher falsch.

Pattern p = Pattern.compile("internal-pdf://\\d+"); 
Matcher m = p.matcher(value); 
System.out.println(m.group(1)); 
+2

Sie haben in Ihrer Regex keine Erfassungsgruppe erstellt. Um einen zu erstellen, müssen Sie den Teil, den er darstellen soll, mit Klammern umschließen, in Ihrem Fall '(\\ d +)'. – Pshemo

Antwort

5

Sie benötigen \d+ mit einer Erfassungsgruppe wickeln und die Matcher mit m.find() führen eine teilweise Übereinstimmung zu finden:

String value = "internal-pdf://2586543536/Homan-2014-RNA tertiary structure analysis by.pd"; 
Pattern p = Pattern.compile("internal-pdf://(\\d+)"); 
Matcher m = p.matcher(value); 
if (m.find()){ 
    System.out.println(m.group(1)); 
} 

die Java demo See.

Verwandte Themen