РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
134 of 1593 menu

Функция strings.SplitAfterN

Функция strings.SplitAfterN разделяет исходную строку на подстроки по указанному разделителю, сохраняя сам разделитель в каждой полученной части, и ограничивает количество возвращаемых подстрок. В первый параметр мы передаем строку для разделения, во второй параметр — разделитель, по которому будет происходить разбиение, а в третий параметр — максимальное количество частей, которое нужно вернуть.

Синтаксис

strings.SplitAfterN(s, sep, n)

Пример Разделение с ограничением количества частей

Давайте разделим строку "a,b,c,d,e" по разделителю "," с ограничением в три части:

package main import ( "fmt" "strings" ) func main() { res := strings.SplitAfterN("a,b,c,d,e", ",", 3) fmt.Println(res) }

Результат выполнения кода:

[a, b, c,d,e]

Пример Разделение без ограничения

Если передать отрицательное значение в третий параметр, функция вернет все возможные части:

package main import ( "fmt" "strings" ) func main() { res := strings.SplitAfterN("a,b,c,d,e", ",", -1) fmt.Println(res) }

Результат выполнения кода:

[a, b, c, d, e]

Пример Разделение с ограничением в одну часть

Если указать n = 1, функция вернет слайс с одной частью, содержащей всю исходную строку:

package main import ( "fmt" "strings" ) func main() { res := strings.SplitAfterN("a,b,c,d,e", ",", 1) fmt.Println(res) }

Результат выполнения кода:

[a,b,c,d,e]

Пример Разделение с разделителем из нескольких символов

Разделитель может состоять из нескольких символов:

package main import ( "fmt" "strings" ) func main() { res := strings.SplitAfterN("hello::world::go", "::", 2) fmt.Println(res) }

Результат выполнения кода:

[hello:: world::go]

Смотрите также

  • функцию strings.Split,
    которая разделяет строку по разделителю без сохранения разделителя
  • функцию strings.SplitAfter,
    которая разделяет строку с сохранением разделителя, но без ограничения количества частей
  • функцию strings.SplitN,
    которая разделяет строку с ограничением количества частей, но без сохранения разделителя
  • функцию strings.Join,
    которая объединяет элементы слайса в строку с указанным разделителем
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить