Sdílet prostřednictvím


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

Viz také