Golang strings.SplitN()函数及示例
strings.SplitN()函数() 是Go语言中的字符串操作函数。它用于将给定字符串按分隔符分成子字符串。该函数返回介于这些分隔符之间的所有子串的切片。
语法:
func SplitN(s, sep string, n int) []string
这里,s是字符串,sep是分隔符。如果s不包含给定的sep并且sep非空,则它将返回一个长度为1的切片,其中仅包含s。或者如果sep为空,则它将在每个UTF-8序列之后拆分。或者如果s和sep都为空,则它将返回一个空切片。在这里,最后一个参数确定函数返回的字符串数。它可以是以下任何一个:
- n等于零(n==0):结果为nil,即零个子字符串。返回一个空列表。
- n大于零(n>0):最多返回n个子字符串,最后一个字符串是未分割的剩余部分。
- n小于零(n<0):将返回所有可能的子字符串。
示例1:
// Golang程序演示
// strings.SplitN()函数
package main
import (
"fmt"
"strings"
)
func main() {
// 字符串s是逗号分隔的字符串
// 使用的分隔符为","
// 这将把字符串分成6个部分
s := strings.SplitN("a,b,c,d,e,f", ",",6)
fmt.Println(s)
}
输出:
[a b c d e f]
示例2:
// Golang程序演示
// strings.SplitN()函数
package main
import (
"fmt"
"strings"
)
func main() {
// 字符串s将用空格隔开
// -1表示生成的所有可能的子串
s := strings.SplitN("I love GeeksforGeeks portal!", " ", -1)
// 这将在新行中打印字符串s的所有子字符串
for _, v := range s {
fmt.Println(v)
}
}
输出:
I
love
GeeksforGeeks
portal!
示例3:
// Golang程序演示
// strings.SplitN()函数
package main
import (
"fmt"
"strings"
)
func main() {
// 这将给出一个空的子字符串
// 因为最后一个参数为0
s := strings.SplitN("a,b,c", ",", 0)
fmt.Println(s)
// 这将只给出3个子字符串
// a和b将是前2个子字符串
s = strings.SplitN("a:b:c:d:e:f", ":", 3)
fmt.Println(s)
// 分隔符可以是任何东西
// 负数表示所有子字符串
s = strings.SplitN("1234x5678x1234x5678","x", -1)
fmt.Println(s)
// 当给定列表中没有分隔符时,将返回原始字符串
s = strings.SplitN("qwerty", ",", 6)
fmt.Println(s)
}
输出:
[]
[a b c:d:e:f]
[1234 5678 1234 5678]
[qwerty]