2013-09-01 19 views
8

Wie schneidet man eine Zeichenfolge in der Google Go-Sprache in ein Array von String-Buchstaben, die es enthält?Zeichenfolge in Buchstaben aufteilen

Zum Beispiel, drehen Sie die Zeichenfolge "abc" in Array "a", "b", "c".

+1

Ich versuche immer noch –

Antwort

12

eine conversion zu runes Verwendung beispiels

package main 

import "fmt" 

func main() { 
     s := "Hello, 世界" 
     for i, r := range s { 
       fmt.Printf("i%d r %c\n", i, r) 
     } 
     fmt.Println("----") 
     a := []rune(s) 
     for i, r := range a { 
       fmt.Printf("i%d r %c\n", i, r) 
     } 
} 

Playground


Output:

i0 r H 
i1 r e 
i2 r l 
i3 r l 
i4 r o 
i5 r , 
i6 r 
i7 r 世 
i10 r 界 
---- 
i0 r H 
i1 r e 
i2 r l 
i3 r l 
i4 r o 
i5 r , 
i6 r 
i7 r 世 
i8 r 界 

aus dem Link:

einen Wert eines String-Typ zu einer Scheibe runes Typ Converting ergibt eine Scheibe, die einzelnen Unicode-Codepunkte der Zeichenfolge enthält . Wenn die Zeichenfolge leer ist, lautet das Ergebnis [] rune (nil).

1

ich Split denken ist, was Sie suchen:

func Split(s, sep string) []string 

Wenn sep ein leerer string ist, wird die Zeichenkette in einzelne Zeichen aufgeteilt:

Split Scheiben s in alle Teil getrennt durch sep und gibt eine Scheibe der Teilstrings zwischen diesen Trennzeichen zurück. Wenn sep leer ist, wird Split nach jeder UTF-8-Sequenz geteilt. Es entspricht SplitN mit einer Anzahl von -1.

+1

danke @insertusernamehere, funktioniert –

0

Der einfachste Weg ist die Aufteilung.

var userString = "some string to split" 

newArr:= strings.Split(userString, "")  // split on each char 

fmt.Println(newArr[2])      // will print "m" 
Verwandte Themen