mirror of
https://github.com/Threnklyn/advent-of-code-go.git
synced 2026-05-18 19:13:27 +02:00
22 lines
537 B
Go
22 lines
537 B
Go
package algos
|
|
|
|
import "strings"
|
|
|
|
// SplitStringOn is like strings.Split but takes in a slice of strings that are
|
|
// all used as dividers in the incoming string
|
|
func SplitStringOn(in string, cutset []string) []string {
|
|
parts := strings.Split(in, cutset[0])
|
|
cutset = cutset[1:]
|
|
var done bool
|
|
for !done && len(cutset) > 0 {
|
|
divider := cutset[0]
|
|
cutset = cutset[1:]
|
|
var newParts []string
|
|
for _, oldPart := range parts {
|
|
newParts = append(newParts, strings.Split(oldPart, divider)...)
|
|
}
|
|
parts = newParts
|
|
}
|
|
return parts
|
|
}
|