2016-07-27 3 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

당신은 열린 우리당으로 구문 분석 할 수 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에 객체를 생성하고 그것에서 추출 할 수

관련 문제