web-dev-qa-db-ja.com

C#で文字列の最後の文字を削除する方法は?

数値文字列があり、"124322"または"1231.232"または"132123.00"。文字列の最後の文字を削除します(それが何であれ)。私の文字列が"99234" なりました "9923"

文字列の長さは可変です。それは定数ではないので、string.RemoveやTrimなどを使用することはできません(私は思う)。

どうすればこれを達成できますか?

12
anon
YourString = YourString.Remove(YourString.Length - 1);
72
amin
var input = "12342";
var output = input.Substring(0, input.Length - 1); 

または

var output = input.Remove(input.Length - 1);
10
123 456 789 0

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

3
DFord

これがアプリケーションで多くの処理を行う必要がある場合、または異なる呼び出しをチェーンする必要がある場合は、拡張メソッドを作成できます。

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"
0
Andrea

stringデータ型を使用している場合、以下のコードが機能します。

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

ただし、StringBuilderの場合は、2番目のパラメーターlengthも指定する必要があります。

SB

あれは、

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

以下のエラーを回避するには:

SB2

0
Vikrant