2011-12-09 59 views
1

我有一個字符串,我想拆分爲使用分隔符}}部分,{」我已經嘗試使用:Java的分割字符串以特殊的分隔符

String delims="['}},{\"']+"; 
String field[]=new String[50]; 
field=subResult.split(delims); 

但它不工作:-(你知道,我應該用在delims什麼表情?您的答覆

+0

你所需要的雙引號'「'定界符? –

回答

2

感謝如果分隔符是簡單}},{然後subResult.split("\\}\\},\\{")應該工作

String fooo = "asdf}},{bar}},{baz"; 
System.out.println(Arrays.toString(fooo.split("\\}\\},\\{"))); 
1

你應該逃避它。

String.split("\\}\\},\\{"); 
3

{是一個正則表達式元字符這標誌着在字符類的開始。要匹配文字{則需要通過與它前面逃脫它\\爲:

String delims="}},\\{"; 
String field[] = subResult.split(delims); 

爲正則表達式引擎推斷,這是一個文字},因爲它之前沒有你不必逃避你的正則表達式的}通過開幕{。這就是說逃脫它沒有什麼壞處。

See it

1

你可能會使得它比你需要的更復雜。

String text = "{{aaa}},{\"hello\"}"; 
String[] field=text.split("\\}\\},\\{\""); 
System.out.println(Arrays.toString(field)); 
0

用途:

Pattern p = Pattern.compile("[}},{\"]");        
// Split input with the pattern 
String[] result = p.split(MyTextString);