Java 如何在多个分隔符上分隔字符串?

Java 如何在多个分隔符上分隔字符串?,java,string,divide,Java,String,Divide,我有一个字符串“1000:20003000”,我需要将它分成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.o

我有一个字符串
“1000:20003000”
,我需要将它分成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);

}
int-datas=0;
字符串项=”;
字符串数据=”;
字符串pocet=“”;
列表项=“1000:20003000”;
对于(int ii=0;ii

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

由于在
列表中分配了
字符串,您的代码无法编译,但是您可以在

可以使用大小相等的对应整数数组来保存整数值。这些可以在基本的
for
循环中处理

输出

1000
2000
3000
您可以使用以下方法:


这将拆分任何分隔符上的数字

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

您可以使用
String.split(“:”)您不需要任何代码来完成此任务。String[]parts=String.split(“:”);为了完整性,您实际上需要(a)将其拆分两次,或者(b)在正则表达式上拆分。这就是Java的
String.split
所做的,例如,
:|,
哇,有那么多人不能阅读理解!答案不是
.split(“:”)再次阅读问题要求@Jarroderson一世至少在问题重新格式化之前回答了这个问题,而且很难看出标点符号的区别。
1000
2000
3000
String[] tokens = str.split(":|,");
String numbers[] = line.split("\\D+");