2016-07-27 294 views
1

我想在列表框中將IP從端口中分離出來。但我只是離開端口號和「:」我將如何使它,所以「:」被刪除,只剩下IP。如何從IP地址字符串中刪除端口號

IPS是這樣的:

192.168.0.12:80

192.168.0.2:123

192.168.0.3:1337

for (int i = 0; i < lb.Items.Count; i++) 
     { 
      string item = lb.Items[i] as string; 
      item = item.Substring(item.LastIndexOf(":")); 
      lb.Items[i] = item; 
     } 
+5

'項目= item.Substring(0,item.LastIndexOf( ':') );' – itsme86

回答

3

你可以解析成一個URI然後檢查Host的值:

String ip = "192.168.0.3:1337"; 
Uri uri = new Uri("http://" + ip); 
MessageBox.Show(uri.Port.ToString()); //shows 1337 
MessageBox.Show(uri.Host.ToString()); //shows 192.168.0.3 

這具有確保URI的好處是有效的,並會爲不包含:而使用IndexOf(':')不會,所以你就必須做一個額外的檢查,看地址工作,如果字符串.Contains它首先

1

你可以分割字符串:

string ip = item.Split(":")[0] 

,或者你可以創建一個Uri對象,並從中提取Host值