想象一下这个数组。
data[0] : 208.92.249.53:80
data[1] : 115.124.65.74:3128
data[2] : 49.213.17.92:8080
我想分割数据[]。并提取IP和端口号。
ip[0] : 208.92.249.53
ip[1] : 115.124.65.74
ip[2] : 49.213.17.92
port[0] : 80
port[1] : 3128
port[2] : 8080
我该怎么做?
StringTokenizer stringTokenizer = new StringTokenizer(data[i], ":");
while (stringTokenizer.hasMoreTokens()){
//??????
}
我不知道如何保存到2个不同的阵列。请让我说明如何做到这一点......谢谢!
答案 0 :(得分:1)
String[] ip = new String[data.length];
String[] port = new String[data.length];
for (int i=0;i<data.length;i++) {
String[] split = data[i].split(":");
ip[i] = split[0];
port[i] = split[1];
}
答案 1 :(得分:1)
StringTokenizer不推荐使用array.split()
代替。
String[] tmp = data[i].split(":");
ip[i] = tmp[0];
port[i] = tmp[1];
答案 2 :(得分:0)
String[] arrTokens =data[0].split(":");
答案 3 :(得分:0)
也许StringTokenizer不是你想要的。您可以通过split
命令
String[] ip = new String[data.length];
String[] port = new String[data.length];
for (int i = 0; i < data.length; i++)
{
String[] splitted = data[i].split(":");
ip[i] = splitted[0];
port[i] = splitted[1];
}
答案 4 :(得分:0)
尝试,
for(int i=0;i<data.length;i++){
StringTokenizer stringTokenizer = new StringTokenizer(data[i], ":");
while (stringTokenizer.hasMoreTokens()) {
ip[i]=stringTokenizer.nextToken();
port[i]=stringTokenizer.nextToken();
}
}