简体   繁体   中英

Remove char at a specific place, counted from the end of a string

I'm trying to remove a character from inside a string, say, 3 spaces from the end. I'm using this to act as typing on a screen in a game in unity, think like a text editor, where you can use the arrow keys to move the cursor inside of the string to remove characters. For example,

"Hello World!"

After pressing left arrow 3 times (I know how to increase/decrease this number obviously, just not where to put the '3'), and then pressing backspace, it should become:

"Hello Wold!"

Currently I am using .Remove(0, text.Length - 1) (Didn't just copy/paste this code so might be a bit off, just memory) to remove characters from the end, but I don't believe that will work for this. Thank you for any help you give!

You can use the String.Remove overload which takes the starting point and number of characters to be removed:

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

Make sure to check the string length first.

This seems to be working:

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

you could use Substring.

substring(int startIndex, int endIndex)

eg

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM