繁体   English   中英

如何删除字符串中的最后 5 个字符?

[英]How do i remove the last 5 characters in a string?

我试图删除字符串中的最后 5 个字符,但出现错误

  string a = "192.168.0.225:5010";
  int b = a.Length;
  string c = a.Substring(b, 5);

  MessageBox.Show(c.ToString());

错误:附加信息:索引和长度必须引用字符串中的位置。

你的问题是Substring参数的误解和使用

第一个参数

在此实例中,substring 的从零开始的起始字符 position。

第二个参数是

substring 中的字符数。

您需要提供字符串的Length ,减去需要删除的大小

string a = "192.168.0.225:5010";
var result = a.Substring(0, a.length - 5);

// or

var result = a.Substring(a.length - 5);

注意:如果端口大小不同或不可用,这是通往失败城镇的单向街道


另一种更强大的方法是通过端口分隔符Split

根据分隔符数组中的字符将字符串拆分为子字符串。

var result = a?.Split(':')[0]

注意:即使没有提供端口,这也会起作用,并在 null 字符串上返回 null,如果没有提供端口,则返回字符串


或者,如果您使用的是.Net Core 3+,您可以利用IPEndPoint.Parse然后调用Address

将表示为字符串的 IP 网络端点(地址和端口)转换为 IPEndPoint 实例。

var result = IPEndPoint.Parse(a).Address

注意:要添加更多容错,您可以使用IPEndPoint.TryParse方法

用这个

  string a = "192.168.0.225:5010";
  int b = a.Length;
  string c = a.Substring(0, b-5); // change this

  MessageBox.Show(c);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM