Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > Golang空格分割字符串

Golang中使用不定数量空格分割字符串的方法

作者:路多辛

有这样一个使用空格分割字符串的场景,字符串中被分割的子串之间的空格数量不确定,有一个两个或者多个空格,这种场景下,使用最容易想到的strings.Split函数就做不到了,本文接下来就介绍几种行之有效的方法,需要的朋友可以参考下

使用 strings.Fields 函数

strings.Fields 函数接受一个字符串类型的参数,使用空格及多个连续的空格将字符串进行分割,返回一个字符串切片,正好满足了我们的需求。使用示例如下:

package main
import (
	"fmt"
	"strings"
)
func main() {
	str := "欢迎来到路多辛的博客 所思所想          很棒"
	s := strings.Fields(str)
	fmt.Println(s)
}

运行看下效果:

$ go run main.go
[欢迎来到路多辛的博客 所思所想 很棒]

可以看出 str 中的子串虽然被数量不等的空格隔开,使用strings.Fields 函数处理后得到了一个字符串类型的切片,字符串被完美分割。

使用正则表达式

首先看下示例代码:

package main
import (
	"fmt"
	"regexp"
)
func main() {
	str := "欢迎来到路多辛的博客 所思所想          很棒"
	reg := regexp.MustCompile(`\s+`)
	result := reg.Split(str, -1)
	fmt.Println(result)
}

运行看下效果:

$ go run main.go
[欢迎来到路多辛的博客 所思所想 很棒]

得到了和上个示例一样的数据,首先使用 regexp.MustCompile 函数创建一个正则表达式,用于匹配一个或多个空格(\s+ 表示匹配至少一个空格字符)。然后使用 reg.Split 方法对字符串进行分割,第二个参数 -1 表示返回所有子串。

到此这篇关于Golang中使用不定数量空格分割字符串的方法的文章就介绍到这了,更多相关Golang空格分割字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文