Skip to content
Related Articles

Related Articles

strings.SplitN() Function in Golang with Examples
  • Last Updated : 19 Apr, 2020

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:






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

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]
My Personal Notes arrow_drop_up
Recommended Articles
Page :