【问题标题】:How to Remove the last char of String in C#?如何在 C# 中删除字符串的最后一个字符?
【发布时间】:2013-10-14 10:25:12
【问题描述】:

我有一个数字字符串,可能是"124322""1231.232""132123.00"。 我想删除我的字符串的最后一个字符(不管它是什么)。 所以我想如果我的字符串是"99234" 变成"9923"

字符串的长度是可变的。它不是恒定的,所以我不能使用字符串。删除或修剪或类似的(我认为)。

我如何做到这一点?

【问题讨论】:

标签: c# string trim


【解决方案1】:
YourString = YourString.Remove(YourString.Length - 1);

【讨论】:

  • 这里重要的一点是我们需要将它分配回原始字符串。我浪费了时间,因为我没有注意到它,所以可能对其他人有帮助。
【解决方案2】:

newString = yourString.Substring(0, yourString.length -1);

【讨论】:

    【解决方案3】:
    var input = "12342";
    var output = input.Substring(0, input.Length - 1); 
    

    var output = input.Remove(input.Length - 1);
    

    【讨论】:

      【解决方案4】:

      如果您使用string 数据类型,则以下代码有效:

      string str = str.Remove(str.Length - 1);
      

      但是当你有StringBuilder时,你还必须指定第二个参数length

      也就是说,

      string newStr = sb.Remove(sb.Length - 1, 1).ToString();
      

      为避免以下错误:

      【讨论】:

        【解决方案5】:

        如果这是你需要在你的应用程序中做很多事情,或者你需要链接不同的调用,你可以创建一个扩展方法:

        public static String TrimEnd(this String str, int count)
        {
            return str.Substring(0, str.Length - count);
        }
        

        然后调用它:

        string oldString = "...Hello!";
        string newString = oldString.Trim(1); //returns "...Hello"
        

        或链式:

        string newString = oldString.Substring(3).Trim(1);  //returns "Hello"
        

        【讨论】:

          猜你喜欢
          • 2011-04-14
          • 2016-10-11
          • 1970-01-01
          • 2011-01-19
          • 2016-10-04
          • 1970-01-01
          • 2010-11-08
          • 2021-12-11
          • 2011-11-18
          相关资源
          最近更新 更多