Postupy: Převod řetězce na pole znaků v jazyce Visual Basic
Někdy je užitečné mít data o znacích v řetězci a pozicích těchto znaků v řetězci, například při analýze řetězce. Tento příklad ukazuje, jak můžete získat pole znaků v řetězci voláním metody řetězce ToCharArray .
Příklad 1
Tento příklad ukazuje, jak rozdělit řetězec na Char
pole a jak rozdělit řetězec na String
pole jeho textových znaků Unicode. Důvodem tohoto rozdílu je, že textové znaky Unicode se dají skládat ze dvou nebo více Char
znaků (například náhradní dvojice nebo kombinace sekvence znaků). Další informace naleznete v článku TextElementEnumerator a Standard Unicode.
Dim testString1 As String = "ABC"
' Create an array containing "A", "B", and "C".
Dim charArray() As Char = testString1.ToCharArray
Příklad 2
Je obtížnější rozdělit řetězec na jeho textové znaky Unicode, ale to je nutné, pokud potřebujete informace o vizuální reprezentaci řetězce. Tento příklad používá metodu SubstringByTextElements k získání informací o textových znamech Unicode, které tvoří řetězec.
' 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