Версия:

Модуль string

Модуль string

Общие сведения

Модуль string включает в себя всё из стандартной библиотеки для работы со строками в Lua, а также некоторые расширения специально для Tarantool’а.

В данном разделе мы рассматриваем только дополнительные функции, добавленные разработчиками Tarantool’а.

Индекс

Ниже приведен перечень всех функций библиотеки string.

Имя Использование
string.ljust() Выравнивание строки по левому полю
string.rjust() Выравнивание строки по правому полю
string.hex() Возврат шестнадцатеричного значения из строки
string.fromhex() Возврат строки из шестнадцатеричного значения
string.startswith() Проверка, начинается ли строка с заданной подстроки
string.endswith() Проверка, заканчивается ли строка на заданную подстроку
string.lstrip() Удаление символов слева от строки
string.rstrip() Удаление символов справа от строки
string.split() Split a string into a table of strings
string.strip() Remove spaces on the left and right of a string
string.ljust(input-string, width[, pad-character])

Возврат строки, выровненной по левому краю, шириной, указанной в width.

Параметры:
  • input-string – (строка) строка для выравнивания по левому краю
  • width – (целое число) ширина строки после выравнивания по левому краю
  • pad-character – (строка) отдельный символ, по умолчанию = 1 пробел
Возвращается:

выровненная по левому краю строка (не изменяется, если ширина <= длине строки)

Тип возвращаемого значения:
 

string (строка)

Пример:

tarantool> string = require('string')
 ---
 ...
 tarantool> string.ljust(' A', 5)
 ---
 - ' A   '
 ...
string.rjust(input-string, width[, pad-character])

Возврат строки, выровненной по правому краю, шириной, указанной в width.

Параметры:
  • input-string – (строка) строка для выравнивания по правому краю
  • width – (целое число) ширина строки после выравнивания по правому краю
  • pad-character – (строка) отдельный символ, по умолчанию = 1 пробел
Возвращается:

выровненная по правому краю строка (не изменяется, если ширина <= длине строки)

Тип возвращаемого значения:
 

string (строка)

Пример:

tarantool> string = require('string')
 ---
 ...
 tarantool> string.rjust('', 5, 'X')
 ---
 - 'XXXXX'
 ...
string.hex(input-string)

Возврат шестнадцатеричного значения введенной строки.

Параметры:
  • input-string – (строка) обрабатываемая строка
Возвращается:

шестнадцатеричное число, два символа шестнадцатеричных цифр для каждого введенного символа

Тип возвращаемого значения:
 

string (строка)

Пример:

tarantool> string = require('string')
 ---
 ...
 tarantool> string.hex('ABC ')
 ---
 - '41424320'
 ...
string.fromhex(hexadecimal-input-string)

На ввод строки с парами шестнадцатеричных цифр вернуть строку с 1 байтом на пару. Обратная операция для string.hex(). Введенная строка с шестнадцатеричными цифрами должна содержать четное количество цифр.

Параметры:
  • hexadecimal-input-string – (string) строка с парами шестнадцатеричных цифр
Возвращается:

строка с одним байтом на каждую пару шестнадцатеричных цифр

Тип возвращаемого значения:
 

string (строка)

Пример:

tarantool> string = require('string')
---
...
tarantool> string.fromhex('41424320')
---
- 'ABC '
...
string.startswith(input-string, start-string[, start-pos[, end-pos]])

Возврат true (правда), если input-string начинается со start-string, в противном случае, возврат false (ложь).

Параметры:
  • input-string – (строка) строка, где производится поиск данных из start-string
  • start-string – (строка) искомая строка
  • start-pos – (целое число) положение: где начинать искать в пределах input-string
  • end-pos – (целое число) положение: где заканчивать искать в пределах input-string
Возвращается:

true или false

Тип возвращаемого значения:
 

boolean (логический)

Значения start-pos и end-pos могут быть отрицательными, что означает, что положение вычисляется с конца строки.

Пример:

tarantool> string = require('string')
 ---
 ...
 tarantool> string.startswith(' A', 'A', 2, 5)
 ---
 - true
 ...
string.endswith(input-string, end-string[, start-pos[, end-pos]])

Возврат true (правда), если input-string заканчивается на end-string, в противном случае, возврат false (ложь).

Параметры:
  • input-string – (строка) строка, где производится поиск данных из end-string
  • end-string – (строка) искомая строка
  • start-pos – (целое число) положение: где начинать искать в пределах input-string
  • end-pos – (целое число) положение: где заканчивать искать в пределах input-string
Возвращается:

true или false

Тип возвращаемого значения:
 

boolean (логический)

Значения start-pos и end-pos могут быть отрицательными, что означает, что положение вычисляется с конца строки.

Пример:

tarantool> string = require('string')
 ---
 ...
 tarantool> string.endswith('Baa', 'aa')
 ---
 - true
 ...
string.lstrip(input-string[, list-of-characers])

Return the value of the input string, after removing characters on the left. The optional list-of-characters parameter is a set not a sequence, so string.lstrip(...,'ABC') does not mean strip 'ABC', it means strip 'A' or 'B' or 'C'.

Параметры:
  • input-string – (строка) обрабатываемая строка
  • list-of-characters – (строка) символы, подлежащие удалению, по умолчанию = пробел
Возвращается:

результат после удаления символов из введенной строки

Тип возвращаемого значения:
 

string (строка)

Пример:

tarantool> string = require('string')
 ---
 ...
 tarantool> string.lstrip(' ABC ')
 ---
 - 'ABC '
 ...
string.rstrip(input-string[, list-of-characters])

Return the value of the input string, after removing characters on the right. The optional list-of-characters parameter is a set not a sequence, so string.rstrip(...,'ABC') does not mean strip 'ABC', it means strip 'A' or 'B' or 'C'.

Параметры:
  • input-string – (строка) обрабатываемая строка
  • list-of-characters – (строка) символы, подлежащие удалению, по умолчанию = пробел
Возвращается:

результат после удаления символов из введенной строки

Тип возвращаемого значения:
 

string (строка)

Пример:

tarantool> string = require('string')
 ---
 ...
 tarantool> string.rstrip(' ABC ')
 ---
 - ' ABC'
 ...
string.split(input-string[, split-string])

Разделение input-string на одну или более выводимых строк в таблице. Места разделения указаны в split-string.

Параметры:
  • input-string – (строка) строка для разделения
  • split-string – (строка) искомая строка в пределах input-string. По умолчанию = пробел.
Возвращается:

таблица строк, которые были разделены из input-string

Тип возвращаемого значения:
 

таблица

Пример:

tarantool> string = require('string')
---
...
tarantool> string.split("A*BXX C", "XX")
---
- - A*B
  - ' C'
...
string.strip(input-string[, list-of-characters])

Return the value of the input string, after removing characters on the left and the right. The optional list-of-characters parameter is a set not a sequence, so string.strip(...,'ABC') does not mean strip 'ABC', it means strip 'A' or 'B' or 'C'.

Параметры:
  • input-string – (строка) обрабатываемая строка
  • list-of-characters – (строка) символы, подлежащие удалению, по умолчанию = пробел
Возвращается:

результат после удаления символов из введенной строки

Тип возвращаемого значения:
 

string (строка)

Пример:

tarantool> string = require('string')
 ---
 ...
 tarantool> string.strip(' ABC ')
 ---
 - ABC
 ...