我有一个像这样的字符串"5006,3030,8080-8083"
。从java中由(,, - )分隔的给定字符串获取数据
我要分开每个元素从字符串:
5006
3030
8080
8081
8082
8083
这里是我的代码:
int i=0,j=0;
String delim = "[,]";
String hyphon = "[-]";
String example = "5006,3030,8080-8083";
String p[] = example.split(delim);
int len = p.length;
for(i=0;i<len;i++) {
String ps[]=p[i].split(hyphon);
if(ps.length>1) {
int start = Integer.parseInt(ps[0]);
int finish = Integer.parseInt(ps[1]);
int diff = finish-start+1;
for(j=0;j<diff;j++) {
System.out.println(start+j);
}
} else if(ps.length==1) {
System.out.println(ps[0]);
}
}
有没有更好的解决方案或简化我的代码的任何类?
我也希望数字按升序排列。
1.拆分它2.添加这些数字来排序集合。 –
Satya
看起来没问题。为了改进你的代码:1.定义i,j in为循环'(for int i = 0 ..)'。 2.对于内部迭代使用'for(int j = start; j <= finish; j ++)...' – Natalia
他已经在使用它了。我不认为代码可以做得更好。 – Tunaki