次の方法で共有


方法: 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

関連項目