go语言strings.split详细用法
时间: 2023-11-24 17:13:12 浏览: 201
在 Go 语言中,`strings` 包提供了 `Split` 函数用于将字符串按照指定的分隔符分割成多个子字符串,并返回一个字符串切片(`[]string`)。以下是 `Split` 函数的详细用法:
```go
func Split(s, sep string) []string
```
其中 `s` 代表需要分割的字符串,`sep` 代表分隔符。例如,如果想按照逗号 `,` 分割字符串,可以使用以下代码:
```go
str := "apple,banana,orange"
arr := strings.Split(str, ",")
```
此时 `arr` 切片中的元素为 `["apple", "banana", "orange"]`。
如果想按照多个分隔符分割字符串,可以使用 `FieldsFunc` 函数,需要传入一个函数类型的参数,这个函数用于判断某个字符是否为分隔符。例如,如果想按照逗号 `,` 或空格分割字符串,可以使用以下代码:
```go
str := "apple,banana orange"
arr := strings.FieldsFunc(str, func(c rune) bool {
return c == ',' || c == ' '
})
```
此时 `arr` 切片中的元素为 `["apple", "banana", "orange"]`。
如果要限制分割出来的子字符串数量,可以使用 `SplitN` 函数,需要传入一个 `n` 参数,代表最多分割出多少个子字符串。例如,如果想最多分割出两个子字符串,可以使用以下代码:
```go
str := "apple,banana,orange"
arr := strings.SplitN(str, ",", 2)
```
此时 `arr` 切片中的元素为 `["apple", "banana,orange"]`。
需要注意的是,如果分隔符是一个字符串而不是单个字符,可以使用 `SplitAfter` 和 `SplitAfterN` 函数,它们与 `Split` 和 `SplitN` 函数的区别在于返回的子字符串中包含分隔符。
阅读全文