#java #regex #exception #escaping #split
#java #регулярное выражение #исключение #экранирование #разделение
Вопрос:
Я пытаюсь разбить массив, который я получил через API на сайте, который Java извлекла как String
.
String[] ex = exampleString.split("},{");
PatternSyntaxException
Выдается. По какой-то причине это действительно не нравится },{
.
Я пытался избежать этого как {
, но он говорит, что это незаконный escape.
Каков правильный способ избежать этой строки?
Ответ №1:
По какой-то причине ему действительно не нравится },{.
Это потому, что фигурные скобки ( }
и {
) являются специальными символами в регулярных выражениях Java. Если вы пытаетесь использовать их буквально без экранирования, это считается синтаксической ошибкой, отсюда и ваше исключение.
Каков правильный способ избежать этой строки?
Также избегайте обратной косой черты, удваивая их. Это для экранирования строк Java. Затем экранированные обратные косые черты не будут заключены в фигурные скобки для регулярного выражения.
String[] ex = exampleString.split("\},\{");