字符串.SplitN() 函数()是 Go 语言中的字符串操作函数。它用于将给定的字符串拆分为由分隔符分隔的子字符串。此函数返回这些分隔符之间的所有子字符串的切片。
Syntax:
Here, s is the string and sep is the separator. If s does not contain the given sep and sep is non-empty, then it will return a slice of length 1 which contains only s. Or if the sep is empty, then it will split after each UTF-8 sequence. Or if both s and sep are empty, then it will return an empty slice.
Here, the last parameter determines the number of strings to be returned by the function. It can be any of the following:
- n is equal to zero (n == 0) : The result is nil, i.e, zero sub strings. An empty list is returned.
- n is greater than zero (n > 0) : At most n sub strings will be returned and the last string will be the unsplit remainder.
- n is less than zero (n < 0) : All possible substring will be returned.
示例 1:
func SplitN(s, sep string, n int) []string
输出:
// Golang program to illustrate the
// strings.SplitN() Function
package main
import (
"fmt"
"strings"
)
func main() {
// String s a is comma serparated string
// The separater used is ","
// This will split the string into 6 parts
s := strings.SplitN("a,b,c,d,e,f", ",",6)
fmt.Println(s)
}
示例 2:
[a b c d e f]
输出:
// Golang program to illustrate the
// strings.SplitN() Function
package main
import (
"fmt"
"strings"
)
func main() {
// String s will be separated by spaces
// -1 implies all the possible sub strings
// that can be generated
s := strings.SplitN("I love GeeksforGeeks portal!", " ", -1)
// This will print all the sub strings
// of string s in a new line
for _, v := range s {
fmt.Println(v)
}
}
示例 3:
I
love
GeeksforGeeks
portal!
输出:
// Golang program to illustrate the
// strings.SplitN() Function
package main
import (
"fmt"
"strings"
)
func main() {
// This will give empty sub string
// as 0 is provided as the last parameter
s := strings.SplitN("a,b,c", ",", 0)
fmt.Println(s)
// This will give only 3 sub strings
// a and b will be the first 2 sub strings
s = strings.SplitN("a:b:c:d:e:f", ":", 3)
fmt.Println(s)
// Delimiter can be anything
// a -ve number specifies all sub strings
s = strings.SplitN("1234x5678x1234x5678", "x", -1)
fmt.Println(s)
// When the separator is not present in
// given list, original string is returned
s = strings.SplitN("qwerty", ",", 6)
fmt.Println(s)
}