StringBuilderクラス
StringBuilderクラスは、可変長の文字列を取り扱うクラスです。
クラスの機能
コンストラクタ
Sub StringBuilder() Sub StringBuilder(capacity As Long) Sub StringBuilder(s As String) Sub StringBuilder(capacity As Long, maxCapacity As Long) Sub StringBuilder(s As String, capacity As Long) Sub StringBuilder(s As String, startIndex As Long, length As Long, capacity As Long)
- capacity
- 内部で確保されるバッファの量
- s
- このStringBuilderインスタンスの内容を初期化する文字列
- startIndex
- sの内、初期化に使用する文字の開始位置
- length
- sの内、初期化に使用する部分のstartIndexからの長さ
- maxCapaity
- このStringBuilderインスタンスが取り扱う文字列の長さの上限
startIndexとlengthを省略すると、sの文字列全体が対象となります。
公開メソッド
戻り値がStringBuilderであるものは、全てThisを返します。
Append
文字列の末尾にデータを追加します。
Function Append(x As Boolean) As StringBuilder Function Append(x As StrChar) As StringBuilder Function Append(x As Word) As StringBuilder Function Append(x As SByte) As StringBuilder Function Append(x As Byte) As StringBuilder Function Append(x As Integer) As StringBuilder Function Append(x As Long) As StringBuilder Function Append(x As DWord) As StringBuilder Function Append(x As Int64) As StringBuilder Function Append(x As QWord) As StringBuilder Function Append(x As Single) As StringBuilder Function Append(x As Double) As StringBuilder Function Append(x As Object) As StringBuilder Function Append(x As String) As StringBuilder
- x
- 追加するデータ - String、StrChar以外は、それぞれ文字列化したものが追加されます。
Function Append(c As StrChar, n As Long) As StringBuilder
- c
- 追加する文字
- n
- 文字数
これはcをn個並べて追加します。
Function Append(s As String, startIndex As Long, count As Long) As StringBuilder Function Append(s As *StrChar, startIndex As Long, count As Long) As StringBuilder
- s
- 追加する文字列
- startIndex
- sの内、追加を開始する位置
- count
- startIndexからの追加する文字の数
AppendLine
改行を追加します。文字列を追加してから改行させることも可能です。
Function AppendLine() As StringBuilder Function AppendLine(s As String) As StringBuilder
- s
- 追加する文字列
改行文字列はEnvironment.NewLine プロパティで取得されます。
CopyTo
文字配列のバッファへこのStringBuilderインスタンスの内容を複製します。
Const Sub CopyTo(sourceIndex As Long, ByRef dest[] As StrChar, destIndex As Long, count As Long)
- sourceIndex
- 複製の開始位置
- dest
- 複製先のバッファ
- destIndex
- 複製先の開始要素
- count
- 複製する文字数
EnsureCapacity
このStringBuilderインスタンスの内部バッファの最低限を指定します。
Function EnsureCapacity(c As Long) As Long
- c
- 最低限のバッファ量
Capacityよりcが大きければcを満たすようにバッファの大きさを拡張します。
Equals
2つのStringBuilderインスタンスを比較します。
Override Function Equals(y As Object) As Boolean Const Function Equals(y As StringBuilder) As Boolean
- y
- 比較対象のインスタンス
GetHashCode
このStringBuilderインスタンスのハッシュ値を返します。
Override Function GetHashCode() As Long
Insert
このStringBuilderインスタンスの途中に文字列を挿入します。
Function Insert(i As Long, x As Boolean) As StringBuilder Function Insert(i As Long, x As StrChar) As StringBuilder Function Insert(i As Long, x As Word) As StringBuilder Function Insert(i As Long, x As SByte) As StringBuilder Function Insert(i As Long, x As Byte) As StringBuilder Function Insert(i As Long, x As Integer) As StringBuilder Function Insert(i As Long, x As Long) As StringBuilder Function Insert(i As Long, x As DWord) As StringBuilder Function Insert(i As Long, x As Int64) As StringBuilder Function Insert(i As Long, x As Single) As StringBuilder Function Insert(i As Long, x As Double) As StringBuilder Function Insert(i As Long, x As Object) As StringBuilder Function Insert(i As Long, x As String) As StringBuilder Function Insert(i As Long, x As String, n As Long) As StringBuilder Function Insert(i As Long, x As *StrChar, startIndex As Long, count As Long) As StringBuilder
- i
- 挿入する位置
- x
- 挿入するデータ - String、StrChar以外は、それぞれ文字列化したものが挿入されます。
- n
- 挿入する回数 - 指定するとn回繰り返し挿入されます。
- startIndex
- xの内、追加を開始する位置
- count
- startIndexからの追加する文字の数
Remove
指定された位置の文字列を削除します。
Function Remove(startIndex As Long, length As Long) As StringBuilder
- startIndex
- 削除を開始する位置
- length
- startIndexから削除する長さ
Replace
文字列を置換します。
Function Replace(old As StrChar, new As StrChar) As StringBuilder Function Replace(old As String, new As String) As StringBuilder Function Replace(old As StrChar, new As StrChar, startIndex As Long, count As Long) As StringBuilder Function Replace(old As String, new As String, startIndex As Long, count As Long) As StringBuilder
- old
- 置換対象となる文字(列)
- new
- 置換後の文字(列)
- startIndex
- 置換元の文字列の探索を開始する位置
- count
- startIndexから置換対象の文字列を探索する文字の数
startIndexとcountを省略すると、このStringBuilderインスタンス全体が対象となります。
ToString
文字列化します。
Override Function ToString() As String Function ToString(startIndex As Long, length As Long) As String
- startIndex
- 文字列化を開始する位置
- count
- startIndexから文字列化の対象とする文字の数
- 戻り値
- このStringBuilderインスタンスをStringクラスの文字列に変換したもの
startIndexとcountを省略すると、このStringBuilderインスタンス全体が対象となります。
公開プロパティ
Capacity
このStringBuilderインスタンスの内部バッファの容量の値を参照・設定します。
Const Function Capacity() As Long Sub Capacity(c As Long)
- c, 戻り値
- 内部バッファの容量
新しい値を設定すると、バッファの容量がそれにあわせて伸縮します。現在の長さLengthより小さい値を指定してはなりません。
なお、実際の文字列の長さは、Lengthプロパティで表されます。
Chars, 添え字・添え字代入演算子
文字の要素を読み書きします。
Const Function Chars(i As Long) As StrChar Sub Chars(i As Long, c As StrChar) Function Operator [](i As Long) As StrChar Sub Operator []=(i As Long, c As StrChar)
- i
- 読み書きする要素の番号
- c, 戻り値
- 読み書きする文字
Length
文字列の長さを参照・設定します。
Const Function Length() As Long Sub Length(i As Long)
- i, 戻り値
- 文字列の長さ
iが現在の文字列の長さより大きい場合、増加した要素はヌル文字で埋められます。この際、必要に応じて内部バッファも拡張されます。
MaxCapacity
このStringBuilderインスタンスが取り扱う文字列の長さの上限を得ます。
Const Function MaxCapacity() As Long
- 戻り値
- 上限値
この値は、コンストラクタでのみ設定可能で、後からこの値を設定する方法はありません。