2012-03-16 32 views

Trả lời

11

String result = input.substring(0,input.lastIndexOf("."));

+0

cảm ơn :) Kết quả chuỗi = input.substring (0, input.lastIndexOf (".")) + "."; –

5

Sử dụng String.LastIndexOf(), nó phải dễ dàng.

EDIT
Sử dụng phương pháp đó bạn có thể định vị 'cuối cùng'. Sau đó, bạn cần một chuỗi con đến và (rõ ràng) incuding rằng '.'. Một cái gì đó như:

string shortened = longIP.Substring(0,longIP.LastIndexOf(".")+1); 
+0

Nếu anh ấy cần bao gồm '.', thì đó có phải là' lastIndexOf' + 1 không? –

+0

@ Moo-Juice - bạn đã đúng, cập nhật –

2
string ip= "192.168.1.100"; 
string partial = ip.Substring(0,ip.LastIndexOf(".")); 
0
string sHostName = Dns.GetHostName(); 
IPHostEntry ipE = Dns.GetHostByName(sHostName); 
IPAddress[] IpA = ipE.AddressList; 
for (int i = 0; i < IpA.Length; i++) 
{ 
    if(IpA[i].AddressFamily == AddressFamily.InterNetwork) 
    { 
     Console.WriteLine("IP Address {0}: {1} {2} ", i, IpA[i].ToString() , sHostName); 
     string[] x = IpA[i].ToString().Split('.'); 
     Console.WriteLine("{0}.{1}.{2}.", x[0], x[1], x[2]); 
    } 
} 
+0

@ Mr.Disappointment yea bạn phải tôi quên nó .. Tôi đã chỉnh sửa câu trả lời –

0

Bên trong, địa chỉ IP (IPv4 và IPv6) chỉ là cắn dây. IPv4 phù hợp với 32 bit và IPv6 phù hợp với 64 bit. Vì vậy, câu trả lời thực sự cho câu hỏi của bạn là chỉ che giấu các bit bạn muốn giữ lại bằng cách sử dụng một phép toán logic và các số khác là 0.

Trong hầu hết các trường hợp, bạn phải chỉ định địa chỉ IP cùng với mặt nạ. Quy tắc là để hỏi xem A có giống với B hay không, bạn kiểm tra các bit mà bit mặt nạ là đúng. Điều này dẫn đến một ký hiệu chung: mọi người viết một địa chỉ IP như 124.51.3/17 để nói rằng phần đầu tiên mô tả địa chỉ IP (có thể là IPv4) và/17 có nghĩa là 17 bit đầu tiên là cân nhắc.

Các vấn đề liên quan