用StringTokenizer除String,然后保存到2个数组

时间:2013-12-09 14:45:04

标签: java arrays stringtokenizer

想象一下这个数组。

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个不同的阵列。请让我说明如何做到这一点......谢谢!

5 个答案:

答案 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();

  }
}