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

Zobacz też