簡體   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