Anvisningar: Konvertera en sträng till en matris med tecken i Visual Basic

Ibland är det användbart att ha data om tecknen i strängen och positionerna för dessa tecken i strängen, till exempel när du parsar en sträng. Det här exemplet visar hur du kan hämta en matris med tecknen i en sträng genom att anropa strängens ToCharArray metod.

Exempel 1

Det här exemplet visar hur du delar upp en sträng i en Char matris och hur du delar upp en sträng i en String matris med dess Unicode-texttecken. Anledningen till den här skillnaden är att Unicode-texttecken kan bestå av två eller flera Char tecken (till exempel ett surrogatpar eller en kombinerande teckensekvens). Mer information finns i TextElementEnumerator och Unicode Standard.

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

Exempel 2

Det är svårare att dela upp en sträng i dess Unicode-texttecken, men det är nödvändigt om du behöver information om den visuella representationen av en sträng. I det SubstringByTextElements här exemplet används metoden för att hämta information om de Unicode-texttecken som utgör en sträng.

' 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

Se även