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)
}

学新通技术网