Практическое руководство. Преобразование строки (String) в массив символов в Visual Basic

Иногда полезно иметь данные о символах в строке и позициях этих символов в строке, например при синтаксическом анализе строки. В этом примере показано, как получить массив символов в строке, вызвав метод строки ToCharArray .

Пример 1

В этом примере показано, как разделить строку на Char массив и разделить строку на String массив текстовых символов Юникода. Причиной этого различия является то, что текстовые символы Юникода могут состоять из двух или более Char символов (таких как суррогатная пара или объединение последовательности символов). Дополнительные сведения см. в разделе TextElementEnumerator "Стандартный" в Юникоде.

Dim testString1 As String = "ABC"
' Create an array containing "A", "B", and "C".
Dim charArray() As Char = testString1.ToCharArray

Пример 2

Сложнее разделить строку на текстовые символы Юникода, но это необходимо, если вам нужна информация о визуальном представлении строки. В этом примере используется SubstringByTextElements метод для получения сведений о текстовых символах Юникода, составляющих строку.

' 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

См. также