Подтвердить что ты не робот

Как удалить последний char из строки в С#?

У меня есть числовая строка, которая может быть "124322" или "1231.232" или "132123.00". Я хочу удалить последний символ моей строки (что бы это ни было). Поэтому я хочу, чтобы моя строка "99234" стала "9923".

Длина строки является переменной. Это не константа, поэтому я не могу использовать string.Remove или trim или некоторые вроде них (я думаю).

Как мне это достичь?

4b9b3361

Ответ 1

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

Ответ 2

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

или

var output = input.Remove(input.Length - 1);

Ответ 3

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

Ответ 4

Если вы используете string тип данных, ниже работает код:

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

Но когда у вас есть StringBuilder, вы также должны указать length второго параметра.

SB

То есть,

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

Чтобы избежать ошибки ниже:

SB2

Ответ 5

Если это то, что вам нужно сделать много в вашем приложении, или вам нужно связать разные вызовы, вы можете создать метод расширения:

public static String TrimEnd(this String str, int count)
{
    return str.Substring(0, str.Length - count);
}

и назовите его:

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

или прикованный цепью:

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