2011-12-09 90 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);