Porady: konwertowanie ciągu do tablicy znaków w Visual Basic
Czasami warto mieć dane o znakach w ciągu i pozycjach tych znaków w ciągu, takich jak podczas analizowania ciągu. W tym przykładzie pokazano, jak można uzyskać tablicę znaków w ciągu, wywołując metodę ciągu ToCharArray .
Przykład 1
W tym przykładzie pokazano, jak podzielić ciąg na tablicę Char
oraz jak podzielić ciąg na tablicę String
znaków tekstowych Unicode. Przyczyną tego rozróżnienia jest to, że znaki tekstowe Unicode mogą składać się z co najmniej dwóch Char
znaków (takich jak para zastępcza lub łącząca sekwencja znaków). Aby uzyskać więcej informacji, zobacz TextElementEnumerator i Standard Unicode.
Dim testString1 As String = "ABC"
' Create an array containing "A", "B", and "C".
Dim charArray() As Char = testString1.ToCharArray
Przykład 2
Trudniej jest podzielić ciąg na znaki tekstowe Unicode, ale jest to konieczne, jeśli potrzebujesz informacji o wizualnej reprezentacji ciągu. W tym przykładzie użyto SubstringByTextElements metody , aby uzyskać informacje o znakach tekstowych Unicode tworzących ciąg.
' 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