Функция strings.SplitN
Функция strings.SplitN разделяет исходную строку на части,
используя указанный разделитель. Первым параметром функция принимает
строку для разделения, вторым - разделитель, третьим - максимальное
количество частей, которое требуется получить. Функция возвращает
слайс строк []string. Если разделитель не найден, возвращается
слайс с одной исходной строкой. Если параметр n меньше или
равен нулю, возвращаются все возможные подстроки.
Синтаксис
strings.SplitN(s, sep, n)
Пример
Давайте разделим строку "a,b,c,d,e" по запятой
на три части:
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.SplitN("a,b,c,d,e", ",", 3)
fmt.Println(res)
}
Результат выполнения кода:
[a b c,d,e]
Пример
Разделим строку по разделителю "-" на четыре части. Обратите внимание, что итоговое количество частей не превышает указанное значение:
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.SplitN("1-2-3-4-5", "-", 4)
fmt.Println(res)
}
Результат выполнения кода:
[1 2 3 4-5]
Пример
Если параметр n равен нулю, функция вернет пустой слайс.
Давайте проверим это поведение на строке с разделителями:
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.SplitN("x,y,z", ",", 0)
fmt.Println(res)
}
Результат выполнения кода:
[]
Пример
Если разделитель не встречается в строке, результатом будет слайс из одного элемента, содержащего исходную строку. Рассмотрим пример:
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.SplitN("hello world", "|", 2)
fmt.Println(res)
}
Результат выполнения кода:
[hello world]
Смотрите также
-
функцию
strings.Split,
которая разделяет строку на все подстроки по разделителю -
функцию
strings.SplitAfter,
которая разделяет строку, сохраняя разделитель в каждой части -
функцию
strings.SplitAfterN,
которая разделяет строку на N частей с сохранением разделителя -
функцию
strings.Join,
которая объединяет слайс строк в одну строку через разделитель