PatternSyntaxException при попытке разделить на}, { - PullRequest
9 голосов
/ 08 мая 2011

Я пытаюсь разбить массив, полученный через API на сайте, который Java получил как String.

String[] ex = exampleString.split("},{");

A PatternSyntaxException.По некоторым причинам, это действительно не нравится },{.Я попытался избежать его как \{, но он говорит, что это незаконный выход.

Как правильно выбрать эту строку?

1 Ответ

17 голосов
/ 08 мая 2011

По некоторым причинам это действительно не нравится}, {.

Это потому, что фигурные скобки (} и {) являются специальными символами в регулярных выражениях Java.Если вы попытаетесь использовать их буквально без экранирования, это будет считаться синтаксической ошибкой, отсюда и ваше исключение.

Как правильно экранировать эту строку?

Escape theобратная косая черта, удваивая их.Это для выходов строк Java.После экранированного обратного слэша будут выведены скобки для регулярного выражения.

String[] ex = exampleString.split("\\},\\{");
...