ZachHofmeister
ZachHofmeister

Reputation: 173

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!

Upvotes: 3

Views: 204

Answers (3)

oziomajnr
oziomajnr

Reputation: 1751

you could use Substring.

substring(int startIndex, int endIndex)

e.g

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

Upvotes: 0

TKharaishvili
TKharaishvili

Reputation: 2099

This seems to be working:

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

Upvotes: 1

Habib
Habib

Reputation: 223282

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.

Upvotes: 5

Related Questions