2016-01-13 7 views
3

Можно ли разделить не только одну строку, но и фрагмент строк? То естьРазбиение строки на список строк в Go

strings.Split("Dogs and Cats are Great", "and")) 

Но вместо того, чтобы использовать одну строку, кусочек строк, как так:

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

ответ

5

Вы можете использовать регулярное выражение: http://play.golang.org/p/vCRCv4rt7s

re := regexp.MustCompile(`and|are`) 
fmt.Printf("%q\n", re.Split("Dogs and Cats are Great", -1)) 
+0

Это кажется элегантное решение. Мне интересно, есть ли способ расколоться перед словом, а не заменить его на раскол? –

+0

@JamesMilner: Пожалуйста, покажите, что вы подразумеваете под словом перед словом. – JimB

+0

I.e. «Собаки», «Кошки», «Великие», а не «Собаки», «Кошки», «Великие» –