方法: Visual Basic で文字列を文字の配列に変換する
文字列を解析する場合など、文字列の文字と文字列内でのそれらの文字の位置に関するデータがあると便利な場合があります。 この例では、文字列の ToCharArray メソッドを呼び出して、文字列の文字の配列を取得する方法を示します。
例 1
この例は、文字列を Char
配列に分割する方法と、文字列を Unicode テキスト文字の String
配列に分割する方法を示しています。 この区別の理由は、Unicode テキスト文字は 2つ以上の Char
文字 (サロゲート ペアや結合文字シーケンスなど) で構成できるからです。 詳細については、TextElementEnumerator に関する記事、および「The Unicode Standard (Unicode 標準)」をご覧ください。
Dim testString1 As String = "ABC"
' Create an array containing "A", "B", and "C".
Dim charArray() As Char = testString1.ToCharArray
例 2
文字列を Unicode テキスト文字に分割する方が難しいですが、文字列の視覚的な表現に関する情報が必要な場合に、これが必要となります。 この例では、SubstringByTextElements メソッドを使用して、文字列を構成する Unicode テキスト文字に関する情報を取得します。
' This string is made up of a surrogate pair (high surrogate
' U+D800 and low surrogate U+DC00) and a combining character
' sequence (the letter "a" with the combining grave accent).
Dim testString2 As String = ChrW(&HD800) & ChrW(&HDC00) & "a" & ChrW(&H300)
' Create and initialize a StringInfo object for the string.
Dim si As New System.Globalization.StringInfo(testString2)
' Create and populate the array.
Dim unicodeTestArray(si.LengthInTextElements - 1) As String
For i As Integer = 0 To si.LengthInTextElements - 1
unicodeTestArray(i) = si.SubstringByTextElements(i, 1)
Next
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET