文字列中の指定位置から文字数だけ文字を削除する方法を説明します。

文字列を削除するには、幾つかの方法があり、処理速度等が異なります。

String.Remove メソッドによる方法

Dim str As String = "ABCDE12345"

'6文字目から2文字削除する
Dim s1 As String = str.Remove(5, 2)

'6文字目から最後まで削除する
Dim s2 As String = str.Remove(5)

 

String.Substring メソッドによる方法

Dim str As String = "ABCDE12345"

'先頭から5文字を削除する(6文字以降取得する)
Dim s1 As String = str.Substring(5)

'6文字目から最後まで削除する(1文字目から5文字取得する)
Dim s2 As String = str.Substring(0, 5)

※Substringは削除と考えるよりは、指定位置から指定個数取得すると考えたほうが分かりやすい。

 

StringBuilder.Remove メソッドによる方法

Dim str As String = "ABCDE12345"

Dim sb As New System.Text.StringBuilder(str)

'先頭から5文字を削除する
sb.Remove(0, 5)
Dim s1 As String = sb.ToString()