2011-05-08 67 views
7

我想分解一個數組,我通過一個網站上的API,這是Java檢索爲StringPatternSyntaxException當嘗試拆分},{

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

A PatternSyntaxException被拋出。出於某種原因,它確實不喜歡},{。 我曾嘗試將它轉義爲\{,但它表示這是非法逃脫。

什麼是逃避這個字符串的正確方法?

回答

14

出於某種原因,它確實不喜歡},{。

這是因爲大括號(}{)是Java正則表達式中的特殊字符。如果您嘗試在不逃脫的情況下直接使用它們,則會將其視爲語法錯誤,因此是您的例外。

什麼是正確的方法來逃避這個字符串?

通過將它們加倍,也可以將其反斜槓也消除。這是用於Java字符串轉義的。逃脫的反斜槓然後將逃避正則表達式的支撐。

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