给定一个输入字符串,例如" word1 word2 word3 word4 ",在 Go 中将其拆分为字符串数组的最佳方法是什么?请注意,每个单词之间可以有任意数量的空格或 unicode-spacing 字符。
" word1 word2 word3 word4 "
在 Java 中,我只会使用someString.trim().split("\\s+").
someString.trim().split("\\s+")
该strings包有一个Fields方法。
strings
Fields
someString := "one two three four " words := strings.Fields(someString) fmt.Println(words, len(words)) // [one two three four] 4
演示: http : //play.golang.org/p/et97S90cIH
从文档:
func Fields(s string) []string 字段s围绕一个或多个连续空格字符的每个实例拆分字符串,s如果 s 仅包含空格,则返回 的子字符串数组或空列表。
func Fields(s string) []string
字段s围绕一个或多个连续空格字符的每个实例拆分字符串,s如果 s 仅包含空格,则返回 的子字符串数组或空列表。
s