将字符串切成字母

ang*_*her 17 string go

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

例如,将字符串"abc"转换为数组"a","b","c".

zzz*_*zzz 20

例如,使用转换为符文

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)
        }
}
Run Code Online (Sandbox Code Playgroud)

操场


输出:

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 ?
Run Code Online (Sandbox Code Playgroud)

从链接:

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


top*_*kip 12

使用strings.Split就可以了:

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Printf("%#v\n",strings.Split("abc", ""))
}
Run Code Online (Sandbox Code Playgroud)

http://play.golang.org/p/1tNfu0iyHS


Pod*_*.io 7

最简单的方法就是拆分。

var userString = "some string to split"

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

fmt.Println(newArr[2])                       // will print "m"
Run Code Online (Sandbox Code Playgroud)


ins*_*ere 5

我认为Split您正在寻找的是:

func Split(s, sep string) []string
Run Code Online (Sandbox Code Playgroud)

如果sep为空string,则将字符串拆分为单个字符:

将s分割为所有由sep分隔的子字符串,并返回这些分隔符之间的子字符串的一部分。如果sep为空,则Split在每个UTF-8序列之后拆分。它等效于计数为-1的SplitN