[英]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.