首页 > 文章列表 > Go语言字符串如何转为数组

Go语言字符串如何转为数组

golang
449 2023-03-08

Go语言字符串如何转为数组

转换方法:1、用Fields()按空格分割字符串转为数组,语法“arr := strings.Fields(s)”;2、用Split()按字符串分割字符串,语法“arr := strings.Split(s,sep)”;3、用FieldsFunc()按字符分割字符串,语法“arr := strings.FieldsFunc(s,f func(rune) bool)”。

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)

}