2016-11-17 2 views
-1

Я хочу разбить строку на Java со следующим форматом: «value^1», чтобы получить начальную часть «значение» в строке.Escape специальный символ^в регулярном выражении в Java

Я хотел использовать раскол вместо подстроки, поэтому я попытался это:

string.split("^")[0] 

, но, к сожалению,^это специальный знак, и я предполагаю, что это должно быть экранированы. Я попробовал split ("\ ^"), но не повезло.

Кто-нибудь знает, как достичь этого, используя split?

Спасибо!

+0

Вам нужно бежать '^' в регулярном выражении, но вы также должны избежать '\' в String с '\', поэтому вы получите '\\ ^'. – AxelH

ответ

3

Escape the escape: split("\\^"). Или split(Pattern.quote("^")).

Но так как вы хотите только первую часть, нет необходимости использовать split:

int pos = string.indexOf('^'); 
String firstPart = (pos != -1) ? string.substring(0, pos) : string; 
Смежные вопросы