strings.SplitN() Function in Golang with Examples

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:



filter_none

edit
close

play_arrow

link
brightness_4
code

// 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)
}

chevron_right


Output:

[a b c d e f]

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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)
    }
}

chevron_right


Output:

I
love
GeeksforGeeks
portal!

Example 3:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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)
}

chevron_right


Output:

[]
[a b c:d:e:f]
[1234 5678 1234 5678]
[qwerty]



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.