Go - Split String
The strings.Split() is used to break a string into a list of substrings using a specified delimiter. It returns the substrings in the form of a slice.
Delimiter: The character or pattern used to split a string (e.g., spaces, commas).
Substrings: Smaller strings are obtained after splitting the original string.
Syntax
The syntax of strings.Split() is as follows −
func Split(S string, sep string) []string
Where s is the given string and sep is the delimiter (separator) string. It returns the substrings.
Splitting Strings Using regexp and strings.Split
You can split a string using functions like regexp and strings.Split.
Example
In this example, we splits two strings using both regexp and strings.Split functions. It demonstrates splitting 'p' by the characters 'n' and 's', 'q' by the substring "Lang", and 'p' by each individual character.
package main
import (
"fmt"
"strings"
"regexp"
)
func main() {
// Intializing the Strings
p := "oopsfunctions"
q := "GoLang language"
// Display the Strings
fmt.Println("String 1:", p)
fmt.Println("String 2:", q)
// Using the Split Function and regexp
r := regexp.MustCompile(`[ns]`)
s := r.Split(p, -2)
t := strings.Split(q, "Lang")
u := strings.Split(p, "")
// Display the Split Output
fmt.Println("Split String 1: ", s)
fmt.Println("Split String 2: ", t)
fmt.Println("Split String 1 with delimiter:", u)
}
Output
It will generate the following output −
String 1: oopsfunctions String 2: GoLang language Split String 1: [oop fu ctio ] Split String 2: [Go language] Split String 1 with delimiter: [o o p s f u n c t i o n s]
Splitting Strings Using Delimiters
You can split a string using different delimiters like !, ,, -, and specific characters.
Example
This example splits three strings 'x', 'y', and 'w' using different delimiters ('!', ',', '-', and 'a'). It demonstrates how to split these strings and prints the resulting substrings.
package main
import (
"fmt"
"strings"
)
func main() {
var x string
var y string
var w string
// Intializing the Strings
x = "Hello! World"
y = "This, is, a, sample, program"
w = "1-2-3-4"
// Display the Strings
fmt.Println("String 1:", x)
fmt.Println("String 2:", y)
fmt.Println("String 3:", w)
// Using the Split Function
res1 := strings.Split(x, "!")
res2 := strings.Split(y, ",")
res3 := strings.Split(w, "-")
res4 := strings.Split(y, "a")
// Display the Split Output
fmt.Println("Split String 1:", res1)
fmt.Println("Split String 2:", res2)
fmt.Println("Split String 3:", res3)
fmt.Println("Split String 2 with delimiter:", res4)
}
Output
It will generate the following output −
String 1: Hello! World String 2: This, is, a, sample, program String 3: 1-2-3-4 Split String 1: [Hello World] Split String 2: [This is a sample program] Split String 3: [1 2 3 4] Split String 2 with delimiter: [This, is, , s mple, progr m]