2013-12-09 49 views
1

想象一下這個數組。用StringTokenizer分隔字符串,然後保存到2個數組

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 

我該怎麼做?我不知道如何保存到2個不同的數組。請讓我展示如何做到這一點......謝謝!

回答

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

    } 
} 
0
String[] arrTokens =data[0].split(":"); 
+0

[你可能想添加一個鏈接的方法...](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split( java.lang.String中)) – Maroun

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]; 
} 
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]; 
} 
1

的StringTokenizer IST不推薦使用array.split()來代替。

String[] tmp = data[i].split(":"); 
ip[i] = tmp[0]; 
port[i] = tmp[1]; 
相關問題