我正在尝试拆分我在网站上通过API获取的数组,Java已将其检索为String
。
String[] ex = exampleString.split("},{");
抛出PatternSyntaxException
。出于某种原因,它真的不喜欢},{
。
我试图将其作为\{
进行转义,但它表示这是非法逃脱。
逃避这个字符串的正确方法是什么?
答案 0 :(得分:16)
出于某种原因,它真的不喜欢},{。
这是因为大括号(}
和{
)是Java正则表达式中的特殊字符。如果你试图在没有转义的情况下逐字地使用它们,那么它被认为是语法错误,因此是你的例外。
逃避此String的正确方法是什么?
通过加倍来逃避反斜杠。这适用于Java字符串转义。然后逃脱的反斜杠将逃脱正则表达式的大括号。
String[] ex = exampleString.split("\\},\\{");