strings.SplitN() Function() is a string manipulation function in Go language. It is used to split a given string into substrings separated by a separator. This function returns the slices of all substrings between those separators.
Syntax:
func SplitN(s, sep string, n int) []stringHere, 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.
Example 1:
// Golang program to illustrate the // strings.SplitN() Function package main import ( "fmt"
"strings"
) func main() { // String s a is comma separated string
// The separator used is ","
// This will split the string into 6 parts
s := strings.SplitN("a,b,c,d,e,f", ",",6)
fmt.Println(s)
} |
Output:
[a b c d e f]
Example 2:
// 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)
}
} |
Output:
I love GeeksforGeeks portal!
Example 3:
// 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)
} |
Output:
[] [a b c:d:e:f] [1234 5678 1234 5678] [qwerty]