Шаг 27.
Язык программирования Go.
Функции пакета strings

    На этом шаге рассмотрим функции пакета strings для работы со строками в Go.

    В таблице 1 рассмотрим функции пакета strings. Будем использовать следующие переменные: s и t - тип string, xs – тип []string, i – тип int, и f – ссылка на функцию с сигнатурой func(rune) bool. Индексы соответствуют первым байтам в кодировке UTF-8 для кодовых пунктов Юникода (символов) или строк, или имеют значение -1 в случае отсутствия соответствия. Переменная r имеет тип unicode.SpecialCase и используются для определения дополнительных правил Юникода.

Таблица 1. Функции из пакета strings
Функция Описание/результат
strings.Contains(s, t) true, если подстрока t входит в строку s
strings.Count(s, t) Количество (неперекрывающихся) вхождений подстроки t в строку s
strings.EqualFold(s, t) true, если строки равны, без учета регистра символов
strings.Fields(s) Срез []string, содержащий результаты разбиения строки s по пробельным символам
strings.FieldsFunc(s,f) Срез []string, содержащий результаты разбиения строки s по позициям, для которых функция f вернет true
strings.HasPrefix(s, t) true, если строка s начинается со строки t
strings.HasSuffix(s, t) true, если строка s заканчивается строкой t
strings.Index(s, t) Индекс первого вхождения подстроки t в строке s
strings.IndexAny(s, t) Индекс первого вхождения любого символа из строки t в строке s
strings.IndexFunc(s, f) Индекс первого вхождения символа в строке s, для которого функция f вернет true
strings.IndexRune(s, char) Индекс первого вхождения символа char, представленного значением типа rune, в строке s
strings.Join(xs, t) Строка, являющаяся результатом конкатенации всех строк в xs, разделенных строкой t (которая может быть пустой строкой)
strings.LastIndex(s, t) Индекс последнего вхождения подстроки t в строке s
strings.LastIndexAny(s, t) Индекс последнего вхождения любого символа из строки t в строке s
strings. LastIndexFunc(s, f) Индекс последнего вхождения символа в строке s, для которого функция f вернет true
strings.Map(mf, t) Копия строки t, в которой каждый символ замещается или удаляется в соответствии с функцией отображения mf, имеющей сигнатуру func(rune) rune
strings.NewReader(s) Указатель на значение с методами Read(), ReadByte() и ReadRune() для выполнения операций со строкой s
strings.NewReplacer(...) Указатель на значение с методами для замены каждой указанной пары строк старая/новая
strings.Repeat(s, i) Строка, в которой строка s повторяется i раз
strings.Replace(s, old, new, i) Копия строки s, где все неперекрывающиеся вхождения строки old замещены строкой new, если в аргументе i передано значение –1. В противном случае выполняется не более i замен
strings.Split(s, t) Срез []string, являющийся результатом разбиения строки s по вхождениям строки t
strings.SplitAfter(s, t) Действует подобно функции strings.Split(), но сохраняет строку-разделитель в полученных строках
strings.SplitAfterN(s, t, i) Действует подобно функции strings.SplitN(), но сохраняет строку-разделитель в полученных строках
strings.SplitN(s, t, i) Срез []string, являющийся результатом разбиения строки s по вхождениям строки t, но не более i-1 раз
strings.Title(s) Копия строки s, где первые буквы в каждом слове преобразованы в верхний регистр
strings.ToLower(s) Копия строки s, где все символы преобразованы в нижний регистр
strings.ToLowerSpecial(r, s) Копия строки s, где все символы преобразованы в нижний регистр, при этом предпочтение отдается правилам в r
strings.ToTitle(s) Копия строки s, где первые символы слов преобразованы в верхний регистр
strings. ToTitleSpecial(r, s) Копия строки s, где первые символы слов преобразованы в верхний регистр, при этом предпочтение отдается правилам в r
strings.ToUpper(s) Копия строки s, где все символы преобразованы в верхний регистр
strings.ToUpperSpecial(r, s) Копия строки s, где все символы преобразованы в верхний регистр, при этом предпочтение отдается правилам в r
strings.Trim(s, t) Копия строки s, где с обоих концов удалены символы, входящие в строку t
strings.TrimFunc(s, f) Копия строки s, где с обоих концов удалены символы, для которых функция f вернула true
strings.TrimLeft(s, t) Копия строки s, в начале которой удалены символы, входящие в строку t
strings.TrimLeftFunc(s, f) Копия строки s, где в начале удалены символы, для которых функция f вернула true
strings.TrimRight(s, t) Копия строки s, где в конце удалены символы, входящие в строку t
strings.TrimRightFunc(s, f) Копия строки s, где в конце удалены символы, для которых функция f вернула true
strings.TrimSpace(s) Копия строки s, где с обоих концов удалены пробельные символы

    На следующем шаге рассмотрим некоторые примеры, иллюстрирующие использование функций пакета strings.


Предыдущий шаг Содержание Следующий шаг