2013-09-01 47 views
8

如何将Google Go语言中的一个字符串切分为包含的字符串数组?将字符串切成字母

例如,将字符串“abc”转换为数组“a”,“b”,“c”。

+1

我仍在尝试 –

回答

12

使用conversion到符文,例如

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


输出:

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 界 

从链接:

字符串类型的值转换为符文类型的切片产生包含字符串的各个Unicode代码点的切片。如果字符串为空,则结果为[] rune(nil)。

1

我觉得Split是你在找什么:

func Split(s, sep string) []string 

如果sep是空string,它会分裂串入单个字符:

分割切片s转换的所有子用sep隔开并返回这些分隔符之间的一个子片段。 如果sep为空,Split会在每个UTF-8序列之后分裂。它相当于SplitN,计数为-1

+1

谢谢@insertusernamehere,works –

0

最简单的方法是拆分。

var userString = "some string to split" 

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

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