Go语言中提供多种方法来分割字符串转为数组。且分割字符串可以分为:按空格分割、按字符串分割和按字符分割。
方法1:使用Fields()函数按空格分割字符串转为数组
arr := strings.Fields(s)
参数 | 描述 |
---|---|
s | 要分割的字符串。 |
返回值
-
返回分割后的字符串 数组。
说明
-
把字符串 s 按照空格分割后返回的字符串数组,保存在 变量 arr 中。
示例:
package main
import (
"fmt"
"strings"
)
func main() {
//使用 strings.Fields 函数,实现按空格分割字符串
strHaiCoder := "Hello HaiCoder"
strArr := strings.Fields(strHaiCoder)
fmt.Println("strArr =", strArr)
}
方法2:使用Split()函数按字符串分割字符串
arr := strings.Split(s,sep)
参数 | 描述 |
---|---|
s | 要分割的字符串。 |
sep | 字符串的分割符。 |
返回值
-
返回分割后的字符串 数组。
说明
-
把字符串 s 按照字符串 sep 分割后返回的字符串数组,保存在变量 arr 中。
示例:
package main
import (
"fmt"
"strings"
)
func main() {
//使用 strings.Split 函数,实现按字符串分割字符串
strHaiCoder := "Hello,HaiCoder Hello,World"
strArr := strings.Split(strHaiCoder, "Hello")
fmt.Println("strArr =", strArr)
}
方法3:使用FieldsFunc()函数按字符分割字符串
arr := strings.FieldsFunc(s,f func(rune) bool)
参数 | 描述 |
---|---|
s | 要分割的字符串。 |
f | 分割的函数。 |
返回值
-
返回分割后的字符串 数组。
说明
-
把字符串 s 按照字符串按照函数 f 进行分割,分割后返回的字符串数组,保存在变量 arr 中。
示例:
package main
import (
"fmt"
"strings"
)
func checkSpiltRune(r rune)bool{
if r > 97{
return true
}
return false
}
func main() {
//使用 strings.FieldsFunc 函数,实现按字符分割字符串
strHaiCoder := "Hello,HaiCoder,Hello,World"
strArr := strings.FieldsFunc(strHaiCoder, checkSpiltRune)
fmt.Println("strArr =", strArr)
}