Regex разделить на ": {в Java? - PullRequest
       1

Regex разделить на ": {в Java?

0 голосов
/ 02 декабря 2018

в основном у меня есть:

 String str = "Stream: {"stream":null,"_links":{"self":"https://api.twitch.tv/kraken/streams/tfue","channel":"https://api.twitch.tv/kraken/channels/tfue"}}";

Я хочу разделить str на ":{, но когда я делаю:

String[] BuftoStringparts = BuftoString.split("\":{");

я получаю ниже исключения:

java.util.regex.PatternSyntaxException: недопустимое повторение рядом с индексом 1 ": {^

Все ответы приветствуются:)

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Прежде всего вам нужно экранировать " в вашей строке JSON, поэтому результирующая строка будет иметь вид:

 String str = "Stream: {\"stream\":null,\"_links\":{\"self\":\"https://api.twitch.tv/kraken/streams/tfue\",\"channel\":\"https://api.twitch.tv/kraken/channels/tfue\"}}";

Теперь, как уже упоминалось другими, вам также нужно экранировать специальные символы регулярных выражений в вашемрегулярное выражение.Вы можете попробовать свой сплит с помощью следующего регулярного выражения:

String[] BuftoStringparts = BuftoString.split("\":\\{");
0 голосов
/ 02 декабря 2018

Основная причина, по которой это происходит:

java.util.regex.PatternSyntaxException: недопустимое повторение рядом с индексом 1 ": {^

Это потому, что они являются специальными символамив регулярных выражениях Java, поэтому вам нужно использовать его как экранированный для регулярных выражений следующим образом:

String[] BuftoStringparts = BuftoString.split("\":\\{");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...