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