首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从IP地址字符串中删除端口号

如何从IP地址字符串中删除端口号
EN

Stack Overflow用户
提问于 2016-07-27 23:12:12
回答 3查看 5.4K关注 0票数 4

我正在尝试在列表框中将IP与端口分开。但是我只留下了端口号和":“,我怎么做才能去掉":”,只留下IP。

ips如下所示:

192.168.0.12:80

192.168.0.2:123

192.168.0.3:1337

代码语言:javascript
运行
复制
  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;
        }
EN

回答 3

Stack Overflow用户

发布于 2016-07-27 23:41:06

您可以拆分字符串:

代码语言:javascript
运行
复制
string ip = item.Split(":")[0]

或者,您可以创建一个Uri对象并从中提取Host值

票数 8
EN

Stack Overflow用户

发布于 2016-07-27 23:23:47

您可以将其解析为Uri,然后检查Host值:

代码语言:javascript
运行
复制
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

票数 6
EN

Stack Overflow用户

发布于 2021-09-08 09:20:03

您可以使用Regex从IP地址中删除端口号,如下所示

代码语言:javascript
运行
复制
string input = "52.240.151.125:47042";
string pattern = ":\\d{1,5}";
string output = Regex.Replace(input, pattern, "");
Console.WriteLine(output);

您将得到以下输出

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38616967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档