VB.NET StringBuilderの末尾の1文字を削除する
StringBuilder
で末尾の1文字だけ削除したいときは以下のようにします。
Dim sb As New StringBuilder
If sb.Length <> 0 Then
sb.Remove(sb.Length - 1, 1)
End If
解説
Remove(位置, 文字数)
で削除します。
位置の指定について、1文字目は0から始まるため、文字列の長さ(Length
)-1の位置が末尾の位置となります。
末尾の位置から1文字削除するように指定すれば、末尾の1文字を削除できます。
注意点
指定位置からの文字数が対象の文字をオーバーした場合はエラーが発生してしまいます。
そのため、If
文で対象の文字列の長さが0でない場合(最低1文字はある場合)のみ削除処理を行うようにしています。