如何在多个分隔符上分隔String?

时间:2014-02-25 19:19:49

标签: java string divide

我有字符串"1000:2000,3000",我需要把它分成3个字符串,所以像这样:

"1000"
"2000"  
"3000"

我的代码如下:

int datas = 0;
String item = "";
String data = "";
String pocet = "";
List<String> items = "1000:2000,3000";
for (int ii = 0; ii < items.size(); ii++) {
    System.out.println(items.get(ii));
    int delkaid = items.get(ii).indexOf(":");
    int delkadat = items.get(ii).indexOf(",") - items.get(ii).indexOf(":");
    int delkapoctu = items.get(ii).length() - items.get(ii).indexOf(",");


    for (int ite = 0; ite < delkaid; i++) {
        item = item + items.get(ii).charAt(ite) + "";
    }

    for (int ite = 0; ite < delkadat; i++) {
        data = data + items.get(ii).charAt(items.get(ii).indexOf(":") + 1 + ite) + "";
    }

    for (int ite = 0; ite < delkapoctu; i++) {
        pocet = pocet + items.get(ii).charAt(items.get(ii).indexOf(",") + 1 + ite) + "";
    }
    datas = Integer.valueOf(data);

}

但我在代码中有一些错误。

4 个答案:

答案 0 :(得分:6)

由于StringList分配给String[] array = str.split(":|,"); ,您的代码无法编译,但您可能会分成alternation

for

相同大小的相应整数数组可用于保存整数值。这些可以在基本{{1}}循环

中处理

答案 1 :(得分:4)

这是link to a running example

public static void main (final String[] args)
{
    final String s = "1000:2000,3000";
    final String[] a = s.split("[:,]");
    for (final String n : a)
    {
        System.out.println(n);
    }
}

输出

1000
2000
3000

答案 2 :(得分:2)

您可以使用split()方法:

String[] tokens = str.split(":|,");

答案 3 :(得分:0)

这将在任何分隔符上分割数字

String numbers[] = line.split("\\D+");