私のようなそれの最初の3部IPアドレス文字列をトリミングして最初の3つの部分を取得する方法は?
取得するために与えられたIPAddressをトリミングする必要があります: "192.168.1"
"192.168.1.20" を➨
"29.6.60.241"➨ "29.6.60。"
ありがとうございます。
私のようなそれの最初の3部IPアドレス文字列をトリミングして最初の3つの部分を取得する方法は?
取得するために与えられたIPAddressをトリミングする必要があります: "192.168.1"
"192.168.1.20" を➨
"29.6.60.241"➨ "29.6.60。"
ありがとうございます。
String result = input.substring(0,input.lastIndexOf("."));
ありがとう:) 文字列結果= input.substring(0、input.lastIndexOf( "。"))+ "。 –
String.LastIndexOf()を使用すると簡単です。
EDIT
この方法を使用すると、最後の '。'を見つけることができます。次に、それまでの部分文字列が必要です(明らかに)。ような何か:
string shortened = longIP.Substring(0,longIP.LastIndexOf(".")+1);
'.'を含める必要があるなら、それは' lastIndexOf' + 1でしょうか? –
@ Moo-Juice - あなたは正しく、更新されました –
string ip= "192.168.1.100";
string partial = ip.Substring(0,ip.LastIndexOf("."));
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]);
}
}
@ Mr.Disappointment yeaあなたはそれについて忘れました..私は答えを編集しました –
は、IPアドレス(IPv4とIPv6)は、単にビット列をされています。 IPv4は32ビットに適合し、IPv6は64ビットに適合します。あなたの疑問に対する真の答えは、論理AND演算を使用して保持したいビットをマスクし、他のビットを0にすることです。ほとんどの場合、マスクと共にIPアドレスを指定することになります。 AがBと同じかどうかを調べるには、マスクビットが真であるビットをチェックするというルールがあります。
これは、124.51.3/17のようなIPアドレスを書いて、最初の部分がIPアドレス(おそらくIPv4)を表し、/ 17が最初の17ビットが1である検討する。
IPv6アドレスはどうですか? –
@ Mr.Disappointment、あなたのエイリアスがあなたのコメントに先行する:D –