我有以下字符串:
A:B:1111;domain:80;a;b
的A
是可選的,所以B:1111;domain:80;a;b
也是有效的輸入。
的:80
是可以選擇的。所以B:1111;domain;a;b
或:1111;domain;a;b
也是有效的輸入
我要的是一個String[]
有落得:什麼是在這裏拆分字符串的好方法?
s[0] = "A";
s[1] = "B";
s[2] = "1111";
s[3] = "domain:80"
s[4] = "a"
s[5] = "b"
我這樣做如下:
List<String> tokens = new ArrayList<String>();
String[] values = s.split(";");
String[] actions = values[0].split(":");
for(String a:actions){
tokens.add(a);
}
//Start from 1 to skip A:B:1111
for(int i = 1; i < values.length; i++){
tokens.add(values[i]);
}
String[] finalResult = tokens.toArray();
我想知道有沒有更好的方法來做到這一點?我還能如何更有效地做到這一點?
你試過:s.split(「[;:]」) 此正則表達式拆分爲一個字符是「 ;」或':' – rascio
域名後面總會跟着一個'80'嗎? – codaddict
@codaddict:沒有,也是可選的 – Jim