在python中,没有分隔符的split()
函数会拆分空白/制表符等,并返回一个列表,其中所有空格已删除
>>> "string with multiple spaces".split()
['string', 'with', 'multiple', 'spaces']
如何在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)
}
}
以上给出了
0 string
1
2
3
4 with
5 multiple
6
7
8
9
10
11 spaces
我想保存lst[0]
,lst[1]
,lst[2]
和lst[3]
中的每个字符串。可以这样做吗?感谢
答案 0 :(得分:8)
您正在寻找strings.Fields
:
func Fields(s string) []string
字段将字符串s拆分为一个或多个连续空白字符的每个实例,如unicode.IsSpace所定义,返回s的子字符串数组或空列表,如果s只包含空格。
示例强>
fmt.Printf("Fields are: %q", strings.Fields(" foo bar baz "))
输出:
Fields are: ["foo" "bar" "baz"]