如何在Java中基于分隔符拆分字符串

时间:2014-11-03 05:30:45

标签: java split delimiter

我想根据分隔符拆分字符串。

示例字符串为:["INESIS","13-ARTENGO-P1046","19"]

拆分后应分为三个字符串。

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

我已经尝试过以上方式,但它无法正常工作。

3 个答案:

答案 0 :(得分:1)

String data="[\"INESIS\",\"13-ARTENGO-P1046\",\"19\"]"; 你必须在每个\之前放置转义字符",否则java认为你结束了你的字符串 这样你告诉java你并不意味着剪切字符串,但"是字符串的一部分

答案 1 :(得分: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);
}

Out put:

"INESIS"
"13-ARTENGO-P1046"
"19"

答案 2 :(得分: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());
    }