2016-06-08 14 views
-2

Ich muss den Wert einer Umgebungsvariablen mit einer Java-Methode extrahieren.Name der Umgebungsvariablen aus Pfad in Java mit Regex extrahieren

Mein Pfad ist $ {rootPath}/user/settings und der Wert, den ich erhalten möchte, ist rootPath.

ich folgend versucht, aber es sagt „gefunden nicht überein“:

Pattern.compile("\\$\\{(\\w+)\\}").matcher("${rootPath}/user/settings").group(1); 

Wenn ich die Methode ersetzen verwenden, um den $ {} ROOTPATH ​​Wert ersetzt. Was mache ich falsch?

+0

Sie verpassen ein 'find()' Aufruf und Verifikation. –

+0

Sie müssen die 'replaceAll()' Methode auf die richtige Weise verwenden :) – TheLostMind

+0

Dies ist nicht der richtige Ansatz verwenden Sie ein Suffix und Teilzeichenfolge, nicht über regexpr sstring (0, s.length() - Suffix .Länge()) –

Antwort

1

Mit replaceAll() wäre keine schlechte Idee, IMHO und der Code wäre ganz einfach :) aussehen:

public static void main(String[] args) { 
    String s = "${rootPath}/user/settings"; 
    System.out.println(s.replaceAll("\\$\\{(.*?)\\}.*","$1")); 
} 

O/P:

ROOTPATH ​​

Verwandte Themen