2011-05-08 34 views
7

我想分解一个数组,我通过一个网站上的API,这是Java检索为StringPatternSyntaxException当尝试拆分},{

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

A PatternSyntaxException被抛出。出于某种原因,它确实不喜欢},{。 我曾尝试将它转义为\{,但它表示这是非法逃脱。

什么是逃避这个字符串的正确方法?

回答

14

出于某种原因,它确实不喜欢},{。

这是因为大括号(}{)是Java正则表达式中的特殊字符。如果您尝试在不逃脱的情况下直接使用它们,则会将其视为语法错误,因此是您的例外。

什么是正确的方法来逃避这个字符串?

通过将它们加倍,也可以将其反斜杠也消除。这是用于Java字符串转义的。逃脱的反斜杠然后将逃避正则表达式的支撑。

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