Open In App

strings.SplitN() Function in Golang with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

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) []string

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.

Example 1: 

C




// 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: 

C




// 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: 

C




// 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]


Last Updated : 16 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads