我正在尝试在列表框中将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;
}
发布于 2016-07-27 23:41:06
您可以拆分字符串:
string ip = item.Split(":")[0]
或者,您可以创建一个Uri对象并从中提取Host值
发布于 2016-07-27 23:23:47
您可以将其解析为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
它
发布于 2021-09-08 09:20:03
您可以使用Regex从IP地址中删除端口号,如下所示
string input = "52.240.151.125:47042";
string pattern = ":\\d{1,5}";
string output = Regex.Replace(input, pattern, "");
Console.WriteLine(output);
您将得到以下输出
https://stackoverflow.com/questions/38616967
复制相似问题