我有一個像這樣的字符串"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