C# 在特定位置移除字符,从字符串末尾开始计数

C# 在特定位置移除字符,从字符串末尾开始计数,c#,string,unity3d,C#,String,Unity3d,我试图从一个字符串中删除一个字符,比如说,从末尾删除3个空格。我用它在unity游戏的屏幕上打字,就像一个文本编辑器一样,你可以使用箭头键在字符串中移动光标来删除字符。比如说, "Hello World!" 按左箭头3次后(我知道如何明显地增加/减少这个数字,只是不知道将“3”放在哪里),然后按backspace,它应该变成: "Hello Wold!" 目前,我正在使用.Remove(0,text.Length-1)(并非只是复制/粘贴此代码,因此可能会有一点不足,只是内存)从结尾删除字符

我试图从一个字符串中删除一个字符,比如说,从末尾删除3个空格。我用它在unity游戏的屏幕上打字,就像一个文本编辑器一样,你可以使用箭头键在字符串中移动光标来删除字符。比如说,

"Hello World!"
按左箭头3次后(我知道如何明显地增加/减少这个数字,只是不知道将“3”放在哪里),然后按backspace,它应该变成:

"Hello Wold!"

目前,我正在使用.Remove(0,text.Length-1)(并非只是复制/粘贴此代码,因此可能会有一点不足,只是内存)从结尾删除字符,但我认为这不适用于此。谢谢你的帮助

您可以使用
字符串。删除
,该字符串以要删除的字符的起始点和数量为准:

string str = "Hello World!";
string resultStr = str.Remove(str.Length - 4, 1);

确保首先检查字符串长度

这似乎奏效了:

var text = "Hello World!";
var index = 3;
text.Remove(text.Length - index - 1, 1);

您可以使用子字符串

substring(int startIndex, int endIndex)
e、 g

String s = substring(0, s.length()-3);//removes the last 3 strings.

我自己最喜欢的答案是这里公认的答案——你可以避免硬编码数字。“我认为这对这个不起作用”。。。。你试过了吗?对不起,不是很清楚,但我试过了,只是错过了解决方案。谢谢,试过类似的东西,但我倒过来了。是的,我必须确保它不会减少超过字符串的长度。