2014-11-03 129 views
-2

我想根据分隔符分割字符串。如何根据Java中的分隔符分割字符串

的例子字符串是:["INESIS","13-ARTENGO-P1046","19"]

应该分为拆分后三个弦。

String data="[\"INESIS\",\"13-ARTENGO-P1046\",\"19\"]"; 
String[] values=data.split(","); 

我试过了上面的方法,但它不工作。

+0

一段代码是什么问题? – 2014-11-03 05:32:09

+0

请在成功分割它们之后准确显示三个字符串应该是什么。 – Jason 2014-11-03 05:33:27

+1

'String data =“[”INESIS“,”13-ARTENGO-P1046“,”19“]”'在Java中不是一个有效的语句。这是一个语法错误! – 2014-11-03 05:33:34

回答

0

首先,您需要以有效的形式提供String

如:

String data="[\"INESIS\",\"13-ARTENGO-P1046\",\"19\"]"; // escape " 

然后,你需要删除[]。你可以使用replaceAll("\\[|\\]","")

然后从,分裂

如:

String data="[\"INESIS\",\"13-ARTENGO-P1046\",\"19\"]"; 
String[] values=data.replaceAll("\\[|\\]","").split(","); 
for(String i:values){ // just to print the values 
    System.out.println(i); 
} 

输出地说:

"INESIS" 
"13-ARTENGO-P1046" 
"19" 
+0

对于问题的当前版本,我们还不知道三个结果字符串应该是什么样子。 – Jason 2014-11-03 05:36:50

+0

删除所有'['和']'字符可能是危险的/矫枉过正的,为什么不删除第一个和最后一个字符呢? – 2014-11-03 05:38:20

1

尝试 String data="[\"INESIS\",\"13-ARTENGO-P1046\",\"19\"]"; 你必须把转义字符\每个"否则的Java之前认为你结束了你的字符串 这样你告诉java你并不是想要切断字符串,但是"是你的字符串的一部分

+0

对于问题的当前版本,我们还不知道三个结果字符串应该是什么样子。 – Jason 2014-11-03 05:38:08

0

要根据其他字符串分割字符串,可以使用StringTokenizer类。

下面是该

String str = "Splitting, Using, Comma" 
    System.out.println("---- Split by comma ',' ------"); 
    StringTokenizer st2 = new StringTokenizer(str, ","); 

    while (st2.hasMoreElements()) { 
     System.out.println(st2.nextElement()); 
    }