Разделить по запятой или другой подстроке
Используйте функцию strings.Split, чтобы разбить строку на значения, разделенные запятыми.
s := strings.Split("a,b,c", ",")
fmt.Println(s)
// Вывод: [a b c]
Чтобы включить разделители, используйте strings.SplitAfter. Чтобы разделить только первые n значений, используйте strings.SplitN и strings.SplitAfterN.
Вы можете использовать strings.TrimSpace для удаления начальных и конечных пробелов из результирующих строк.
Разделить по пробелам и символам новой строки
Используйте функцию strings.Fields, чтобы разбить строку на подстроки, удаляя любые пробелы, включая символы новой строки.
s := strings.Fields(" a \t b \n")
fmt.Println(s)
// Вывод: [a b]
Разделить по регулярному выражению
В более сложных ситуациях метод regexp Split может помочь.
Он разбивает строку на подстроки, разделенные регулярным выражением. Метод принимает целочисленный аргумент n; если n >= 0, он возвращает не более n подстрок.
a := regexp.MustCompile(`a`) // единичный `a`
fmt.Printf("%q\n", a.Split("banana", -1)) // ["b" "n" "n" ""]
fmt.Printf("%q\n", a.Split("banana", 0)) // [] (nil slice)
fmt.Printf("%q\n", a.Split("banana", 1)) // ["banana"]
fmt.Printf("%q\n", a.Split("banana", 2)) // ["b" "nana"]
zp := regexp.MustCompile(` *, *`) // пробелы и одна запятая
fmt.Printf("%q\n", zp.Split("a,b , c ", -1)) // ["a" "b" "c "]
Читайте также:
- Обзор обработки строк в Golang
- Regexp (регулярные выражения) в Golang
- Эффективная конкатенация строк в Golang
Комментариев нет:
Отправить комментарий