Tôi có chuỗi sau:
A:B:1111;domain:80;a;b
A
là tùy chọn để B:1111;domain:80;a;b
cũng là đầu vào hợp lệ.
Các :80
là không bắt buộc cũng vì vậy B:1111;domain;a;b
hoặc :1111;domain;a;b
cũng đầu vào hợp lệ
Những gì tôi muốn là để kết thúc với một String[]
có:Cách tốt để tách chuỗi ở đây là gì?
s[0] = "A";
s[1] = "B";
s[2] = "1111";
s[3] = "domain:80"
s[4] = "a"
s[5] = "b"
Tôi đã làm điều này như sau:
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();
Tôi đã tự hỏi là có một cách tốt hơn để làm điều này? Làm cách nào khác tôi có thể làm điều này hiệu quả hơn?
bạn đã thử với: s.split ("[;:]") này chia regex cho một char đó là ' ; ' hoặc ':' – rascio
Tên miền có luôn được theo sau là '80' không? – codaddict
@codaddict: Không có tùy chọn nào cũng là – Jim