String 在Go中拆分字符串列表上的字符串

String 在Go中拆分字符串列表上的字符串,string,go,split,string-split,String,Go,Split,String Split,是否不仅可以拆分一个字符串,还可以拆分一段字符串?即 strings.Split("Dogs and Cats are Great", "and")) 但不是使用一个字符串,而是一段字符串: strings.Split("Dogs and Cats are Great", []string{"and", "are"})) 可以使用正则表达式: 这似乎是一个优雅的解决方案。我想知道,有没有一种方法可以在单词之前拆分,而不是将其替换为拆分?詹姆斯米尔纳:请说明“在单词之前拆分”是什么意思。返回“

是否不仅可以拆分一个字符串,还可以拆分一段字符串?即

strings.Split("Dogs and Cats are Great", "and"))
但不是使用一个字符串,而是一段字符串:

strings.Split("Dogs and Cats are Great", []string{"and", "are"}))

可以使用正则表达式:


这似乎是一个优雅的解决方案。我想知道,有没有一种方法可以在单词之前拆分,而不是将其替换为拆分?詹姆斯米尔纳:请说明“在单词之前拆分”是什么意思。返回“Dogs”、“and Cats”、“are Great”而不是“Dogs”、“Cats”、“Great”@JamesMilner:我会找到匹配项的索引(使用类似于
FindAllStringIndex
),并基于此对字符串进行切片。我认为这是最好的解决方案。谢谢你的帮助。
re := regexp.MustCompile(`and|are`)
fmt.Printf("%q\n", re.Split("Dogs and Cats are Great", -1))