-Функции для работы со строками позволяют анализировать, преобразовывать и манипулировать текстовыми данными.
str.len
Определяет длину строки в символах.
Сигнатура: str.len(str string) int
Аргументы: str
— строка, длину которой нужно определить.
Результат: Целое число, равное количеству символов в строке.
Пример использования:
$str = "Какая-то строка"
$len = str.len($str) // $len будет содержать 15
str.lower
Преобразует все символы строки в нижний регистр.
Сигнатура: str.lower(str string) string
Аргументы: str
— строка, которую необходимо преобразовать.
Результат: Строка, все символы которой находятся в нижнем регистре.
Пример использования:
$str = "СтРоКа"
$lower = str.lower($str) // $lower будет содержать "строка"
str.upper
Преобразует все символы строки в верхний регистр.
Сигнатура: str.upper(str string) string
Аргументы: str
— строка, которую необходимо преобразовать.
Результат: Строка, все символы которой находятся в верхнем регистре.
Пример использования:
$str = "СтРоКа"
$upper = str.upper($str) // $lower будет содержать "СТРОКА"
str.ucfirst
Преобразует первый символ строки в верхний регистр.
Сигнатура: str.ucfirst(str string) string
Аргументы: str
— строка, первый символ которой необходимо преобразовать.
Результат: Строка с первым символом в верхнем регистре.
Пример использования:
$str = str.ucfirst("строка") // $str будет содержать "Строка"
str.lcfirst
Преобразует первый символ строки в нижний регистр.
Сигнатура: str.lcfirst(str string) string
Аргументы: str
— строка, первый символ которой необходимо преобразовать.
Результат: Строка с первым символом в нижнем регистре.
Пример использования:
$str = str.lcfirst("Строка") // $str будет содержать "строка"
str.letter
Возвращает символ строки по указанной позиции.
Сигнатура: str.letter(str string, index int) string
Аргументы:
str
— строка, символ которой требуется получить.index
— позиция символа в строке (начиная с 0). Если отрицательная, отсчет начинается с конца строки.Результат: Строка, содержащая символ по указанной позиции, или пустая строка, если символа с такой позицией не существует.
Пример использования:
$str = "Слово"
$firstLetter = str.letter($str, 0) // Первая буква
$lastLetter = str.letter($str, -1) // Последняя буква
str.concat
Объединяет две строки в одну.
Сигнатура: str.concat(strings ...string) string
Аргументы:
strings
— строки для объединения.Результат: Новая строка, состоящая из первой строки, к которой справа добавлена вторая.
Пример использования:
$str = str.concat() // $str будет содержать ""
$str = str.concat("один") // $str будет содержать "один"
$str = str.concat("один", ":", "два") // $str будет содержать "один:два"
str.format
Форматирует строку, подставляя значения в указанные плейсхолдеры.
Сигнатура: str.format(format string, values… any) string
Аргументы:
format
— строка формата состоит из нуля или более директив: обычные символы (за исключением %), которые просто выводятся без изменения, и спецификаторы преобразования, каждый из которых требует передачи своего параметра. Спецификатор преобразования соответствует прототипу: %[argnum$][flags][width][.precision]specifier
.values
— значения, которые будут подставлены в формат.Номер аргумента (argnum): Целое число, за которым следует знак $
, чтобы указать, какой числовой аргумент обрабатывать при преобразовании.
Флаги: Флаги изменяют поведение форматирования:
-
— выравнивание по левому краю (по умолчанию — по правому).+
— всегда отображать знак числа (+ или -).0
— дополнение числа нулями слева.'символ
— дополнение указанным символом. Ширина: Указывает минимальное количество символов для вывода значения. Если значение короче, оно будет дополнено пробелами или указанным символом.
Точность: Точность в форматировании строк указывается после .
и определяет, сколько символов будет выведено или как будет округлено значение.
f
, e
, E
, F
) точность задает количество цифр после десятичной точки. По умолчанию используется 6 знаков после запятой.g
, G
, h
, H
точность определяет максимальное количество значащих цифр.s
) точность ограничивает максимальное количество символов, которые будут выведены.Если после точки не указано значение точности, считается, что точность равна 0.
Также можно использовать символ *
вместо конкретного числа для задания точности. В этом случае значение точности передается как дополнительный аргумент перед основным значением.
Спецификаторы: Определяют тип и формат выводимого значения:
%
— символ процента. Аргументы не требуются.b
— аргумент рассматривается как целое число и печатается в бинарном представлении.c
— аргумент рассматривается как целое число и печатается как символ из таблицы ASCII с соответствующим кодом.d
— аргумент рассматривается как целое число и печатается как целое число со знаком.e
— аргумент считается за число в научной нотации (т. е. 1.2e+2).E
— аргумент аналогичен спецификатору e, но с заглавным символом (т. е. 1.2E+2).f
— аргумент считается за число с плавающей точкой (с учетом локали).F
— аргумент считается за число с плавающей точкой (без учета локали).g
— Общий формат. Пусть P равно точности, если точность не равна нулю, 6, если точность не задали, или 1, если точность равна 0. Тогда, если преобразование со стилем «E» будет иметь показатель степени X: Если P > X ≥ −4, преобразование будет в стиле «f» и точность будет P - (X + 1). Иначе преобразование будет в стиле «e» и точность будет P - 1.G
— аргумент аналогичен спецификатору g, но использует спецификаторы E и f.h
— аргумент аналогичен спецификатору g, но использует спецификатор F.H
— аргумент аналогичен спецификатору g, но использует спецификаторы E и F.o
— аргумент рассматривается как целое число и печатается в восьмеричном представлении.s
— аргумент рассматривается и печатается как строка.u
— аргумент рассматривается как целое число и печатается как беззнаковое целое число.x
— аргумент рассматривается как целое число и печатается в шестнадцатеричном представлении (буквы будут в нижнем регистре).X
— аргумент рассматривается как целое число и печатается в шестнадцатеричном представлении (буквы будут в верхнем регистре).Спецификатор
c
игнорирует спецификаторы преобразования дополнения и ширины. Попытка использовать комбинацию спецификаторов строки и ширины с кодировками, которые требуют больше одного байта на символ, иногда дает неожиданные результаты.
Возвращаемое значение: string
— отформатированная строка.
Пример использования:
str.format("test: %s", "Привет")
// Вернет: "test: Привет"
str.format("%b, %x, %u", 10, 20, 30)
// Вернет: "1010, 14, 30"