2016-11-17 1 views
-1

Ich möchte eine Zeichenfolge in Java mit dem folgenden Format: "Wert^1", so dass ich den Anfangsteil "Wert" in einer Zeichenfolge erhalten.Escape Sonderzeichen^in einem regulären Ausdruck in Java

Ich wollte Split statt String verwenden, so dass ich versuchte, dies:

string.split("^")[0] 

aber leider ist^ein besonderer Charakter, und ich denke, es entkam werden muss. Ich habe versucht Split ("\ ^"), aber kein Glück.

Wer weiß, wie man dies mit Split erreichen kann?

Danke!

+0

Sie fliehen müssen die '^' in der Regex, aber Sie müssen auch die '\ entkommen' in die Zeichenfolge mit '\', so dass Sie mit '\\ ^' enden. – AxelH

Antwort

3

Entkommen Sie der Escape: split("\\^"). Oder split(Pattern.quote("^")).

Aber da Sie nur den ersten Teil davon wollen, gibt es keine Notwendigkeit zu verwenden split:

int pos = string.indexOf('^'); 
String firstPart = (pos != -1) ? string.substring(0, pos) : string;