基本上我有:
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附近非法重复 “:{ ^
非常感谢所有回复:)
答案 0 :(得分:1)
发生这种情况的主要原因:
java.util.regex.PatternSyntaxException:在索引1“:{^
附近非法重复
这是因为它们是Java正则表达式中的特殊字符,因此您需要将其转义用于正则表达式,因此可通过以下方式进行操作:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="tables_container"></div>
答案 1 :(得分:0)
首先,您需要在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("\":\\{");