在python中,split()没有分隔符的函数会拆分空白/制表符等,并返回一个删除了所有空格的列表
>>> "string with multiple spaces".split()
['string', 'with', 'multiple', 'spaces']
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现类似的东西go呢?
package main
import "fmt"
import "strings"
func main() {
s := "string with multiple spaces"
lst := strings.Split(s, " ")
for k, v := range lst {
fmt.Println(k,v)
}
}
Run Code Online (Sandbox Code Playgroud)
以上给出
0 string
1
2
3
4 with
5 multiple
6
7
8
9
10
11 spaces
Run Code Online (Sandbox Code Playgroud)
我想每个字符串保存在lst[0],lst[1],lst[2]和lst[3].可以这样做吗?谢谢
您正在寻找strings.Fields:
Run Code Online (Sandbox Code Playgroud)func Fields(s string) []stringFields将字符串s拆分为一个或多个连续空白字符的每个实例,如unicode.IsSpace所定义,返回s的子字符串数组或空列表(如果s仅包含空格).
例
Run Code Online (Sandbox Code Playgroud)fmt.Printf("Fields are: %q", strings.Fields(" foo bar baz "))输出:
Run Code Online (Sandbox Code Playgroud)Fields are: ["foo" "bar" "baz"]