私は文字列を言う
"Hello! world!"
トリムまたは削除を実行して、! を world から削除したいのですが、Hello からは削除しません。
ベストアンサー1
"Hello! world!".TrimEnd('!');
編集:
この種の質問で私が気づいたのは、ほとんどの人が、指定された文字列の最後の文字を削除することを提案しているということです。しかし、これは Trim メソッドの定義を満たしていません。
トリム - このインスタンスの先頭と末尾からすべての空白文字を削除します。
この定義では、文字列から最後の文字のみを削除するのは悪い解決策です。
したがって、「文字列から最後の文字を削除」したい場合は、次のようにします。
拡張メソッドの例:
public static class MyExtensions
{
public static string TrimLastCharacter(this String str)
{
if(String.IsNullOrEmpty(str)){
return str;
} else {
return str.TrimEnd(str[str.Length - 1]);
}
}
}
注記同じ値のすべての文字、つまり(!!!!)を削除する場合、上記の方法では文字列の末尾にある '!' の存在がすべて削除されますが、最後の文字のみを削除する場合は、次のようにします。
else { return str.Remove(str.Length - 1); }