S'il existe un moyen de diviser une chaîne en un tableau de chaînes, lorsque vous avez comme séparateur un tableau de runes ? Il y a un exemple de ce que je veux:
seperators = {' ',')','('}
SomeFunction("my string(qq bb)zz",seperators) => {"my","string","qq","bb","zz"}
Solution du problème
Par example,
package main
import (
"fmt"
"strings"
)
func split(s string, separators []rune) []string {
f:= func(r rune) bool {
for _, s:= range separators {
if r == s {
return true
}
}
return false
}
return strings.FieldsFunc(s, f)
}
func main() {
separators:= []rune{' ', ')', '('}
s:= "my string(qq bb)zz"
ss:= split(s, separators)
fmt.Printf("%q\n", s)
fmt.Printf("%q\n", ss)
}
Production:
"my string(qq bb)zz"
["my" "string" "qq" "bb" "zz"]
Aucun commentaire:
Enregistrer un commentaire