如何在C#中删除字符串的最后一个字符?

20
我有一个数字字符串,可能是"124322""1231.232""132123.00"。我想删除字符串的最后一个字符(无论是什么)。
所以如果我的字符串是"99234",那么它将变成"9923"
字符串长度是可变的,不是固定的,因此我无法使用string.Remove、trim或类似的方法(我认为)。
如何实现这一点?

6
请仔细阅读,并告诉我这个问题是否是重复的:这是一个重复的问题,需要从字符串中删除最后一个字符。 - Jonesopolis
相关:https://dev59.com/ZXE85IYBdhLWcg3wbTD2 - Shog9
1
可能是删除字符串的最后一个字符的重复。 - Tor Klingberg
6个回答

83
YourString = YourString.Remove(YourString.Length - 1);

1
这里的重要点是我们需要将它重新赋值给原始字符串。因为我没有注意到它而浪费了时间,所以可能对其他人有帮助。 - Onat Korucu

12
var input = "12342";
var output = input.Substring(0, input.Length - 1); 
或者
var output = input.Remove(input.Length - 1);

4

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

新的字符串 = 你的字符串.子字符串(0, 你的字符串.长度 -1);

2
如果您的应用程序需要经常执行此操作,或者需要链接不同的调用,则可以创建一个扩展方法:
public static String TrimEnd(this String str, int count)
{
    return str.Substring(0, str.Length - count);
}

并将其命名为:

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

或者链式:

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

0

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

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

但是当你使用StringBuilder时,你必须同时指定第二个参数length

SB

也就是说,

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

为了避免以下错误:

SB2


0
string testString = "some string"; testString = testString.TrimEnd(testString.Last()); 它将从字符串中删除最后一个字符

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接