删除特定位置的char,从字符串末尾开始计算

时间:2016-10-28 15:10:35

标签: c# string unity3d

我正在尝试从字符串中删除一个字符,比如从末尾开始有3个空格。我正在使用它作为统一游戏中的屏幕上的输入,像文本编辑器一样思考,您可以使用箭头键将光标移动到字符串内以删除字符。例如,

"Hello World!"

按下左箭头3次后(我知道如何显然增加/减少这个数字,不知道放在'3'的位置),然后按退格键,它应该变为:

"Hello Wold!"

目前我正在使用.Remove(0,text.Length - 1)(不只是复制/粘贴此代码所以可能有点关闭,只是内存)从最后删除字符,但我不相信这对此有用。谢谢你的任何帮助!

3 个答案:

答案 0 :(得分:5)

您可以使用String.Remove overload,其中包含要删除的起点和字符数:

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

请务必先检查字符串长度。

答案 1 :(得分:1)

这似乎有效:

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

答案 2 :(得分:0)

你可以使用Substring。

substring(int startIndex, int endIndex)

例如

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