# [Ride v4 и v3] Функции строки
⚠️ Это документация Стандартной библиотеки версии 4 и 3. Рекомендуем использовать версию 6. Перейти к версии 6
⚠️ В реализации функций строки исправлена ошибка, связанная с некорректным определением границ символов UTF-8 при разбиении строк и поиске подстрок, в случае если строки содержат спецсимволы. Ошибка могла приводить к появлению невалидных строк, содержащих последовательности, не соответствующие ни одному символу UTF-8. Исправление применяется с момента активации фичи № 16 “Ride V5, dApp-to-dApp invocations” независимо от версии Стандартной библиотеки.
Название | Описание | Сложность |
---|---|---|
contains(String, String): Boolean | Проверяет, содержится ли строка в строке | 3 |
drop(String, Int): String | Удаляет первые n символов строки | 1 для Стандартной библиотеки версии 3 20 для Стандартной библиотеки версии 4 |
dropRight(String, Int): String | Удаляет последние n символов строки | 19 для Стандартной библиотеки версии 3 20 для Стандартной библиотеки версии 4 |
indexOf(String, String): Int|Unit | Возвращает индекс первого вхождения подстроки | 20 для Стандартной библиотеки версии 3 3 для Стандартной библиотеки версии 4 |
indexOf(String, String, Int): Int|Unit | Возвращает индекс первого вхождения подстроки после указанного индекса | 20 для Стандартной библиотеки версии 3 3 для Стандартной библиотеки версии 4 |
lastIndexOf(String, String): Int|Unit | Возвращает индекс последнего вхождения подстроки | 20 для Стандартной библиотеки версии 3 3 для Стандартной библиотеки версии 4 |
lastindexOf(String, String, Int): Int|Unit | Возвращает индекс последнего вхождения подстроки перед указанным индексом | 20 для Стандартной библиотеки версии 3 3 для Стандартной библиотеки версии 4 |
makeString(List[String], String): String | Объединяет строки из списка, используя разделитель | 30 |
size(String): Int | Возвращает длину строки | 1 |
split(String, String): List[String] | Разбивает строку на список подстрок, используя разделитель | 100 для Стандартной библиотеки версии 3 75 для Стандартной библиотеки версии 4 |
take(String, Int): String | Возвращает первые n символов строки | 1 для Стандартной библиотеки версии 3 20 для Стандартной библиотеки версии 4 |
takeRight(String, Int): String | Возвращает последние n символов строки | 19 для Стандартной библиотеки версии 3 20 для Стандартной библиотеки версии 4 |
# contains(String, String): Boolean
Проверяет, содержится ли строка в строке.
⚠️ Функция
contains
добавлена в Стандартной библиотеке версии 4.
contains(haystack: String, needle: String): Boolean
# Параметры
Параметр | Описание |
---|---|
haystack : String | Строка, в которой осуществляется поиск |
needle : String | Искомая строка |
# Примеры
{-# STDLIB_VERSION 4 #-}
{-# CONTENT_TYPE DAPP #-}
{-# SCRIPT_TYPE ACCOUNT #-}
"hello".contains("hell") # Возвращает true
"hello".contains("world") # Возвращает false
# drop(String, Int): String
Удаляет первые n
символов строки.
drop(xs: String, number: Int): String
# Параметры
Параметр | Описание |
---|---|
xs : String | Строка |
number : Int | Число n |
# Примеры
drop("Apple", 0) # Возвращает "Apple"
drop("Apple", 1) # Возвращает "pple"
drop("Apple", 3) # Возвращает "le"
drop("Apple", 5) # Возвращает пустую строку
drop("Apple", 15) # Возвращает пустую строку
# dropRight(String, Int): String
Удаляет последние n
символов строки.
dropRight(xs: String, number: Int): String
# Параметры
Параметр | Описание |
---|---|
xs : String | Строка |
number : Int | Число n |
# Примеры
dropRight("Apple", 0) # Возвращает "Apple"
dropRight("Apple", 1) # Возвращает "Appl"
dropRight("Apple", 3) # Возвращает "Ap"
dropRight("Apple", 5) # Возвращает пустую строку
dropRight("Apple", 15) # Возвращает пустую строку
# indexOf(String, String): Int|Unit
Возвращает индекс первого вхождения подстроки.
indexOf(str: String, substr: String): Int|Unit
# Параметры
Параметр | Описание |
---|---|
str : String | Строка |
substr : String | Подстрока |
# Примеры
indexOf("Apple","ple") # Возвращает 2
indexOf("Apple","le") # Возвращает 3
indexOf("Apple","e") # Возвращает 4
# indexOf(String, String, Int): Int|Unit
Возвращает индекс первого вхождения подстроки после указанного индекса.
indexOf(str: String, substr: String, offset: Int): Int|Unit
# Параметры
Параметр | Описание |
---|---|
str : String | Строка |
substr : String | Подстрока |
offset : Int | Индекс |
# Примеры
indexOf("Apple","ple", 1) # Возвращает 2
indexOf("Apple","le", 2) # Возвращает 3
indexOf("Apple","e", 3) # Возвращает 4
indexOf("Apple","p", 0) # Возвращает 1
indexOf("Apple","p", 2) # Возвращает 2
indexOf("Apple","p", 3) # Возвращает unit
# lastIndexOf(String, String): Int|Unit
Возвращает индекс последнего вхождения подстроки.
lastIndexOf(str: String, substr: String): Int|Unit
# Параметры
Параметр | Описание |
---|---|
str : String | Строка |
substr : String | Подстрока |
# Примеры
lastIndexOf("Apple","pp") # Возвращает 1
lastIndexOf("Apple","p") # Возвращает 2
lastIndexOf("Apple","s") # Возвращает unit
# lastIndexOf(String, String, Int): Int|Unit
Возвращает индекс последнего вхождения подстроки перед указанным индексом.
lastIndexOf(str: String, substr: String, offset: Int): Int|Unit
# Параметры
Параметр | Описание |
---|---|
str : String | Строка |
substr : String | Подстрока |
offset : Int | Индекс |
# Примеры
lastIndexOf("mamamama","ma",4) # Возвращает 4
lastIndexOf("mamamama","ma",3) # Возвращает 2
# makeString(List[String], String): String
Объединяет строки из списка, используя разделитель.
⚠️ Функция
makeString
добавлена в Стандартной библиотеке версии 4.
makeString(arr: List[String], separator: String): String
# Параметры
Параметр | Описание |
---|---|
arr : List[String] | Список строк для объединения |
separator : String | Разделитель |
# Пример
makeString(["Apple","Orange","Mango"], " & ") # Возвращает "Apple & Orange & Mango"
# size(String): Int
Возвращает длину строки.
size(xs: String): Int
# Параметры
Параметр | Описание |
---|---|
xs : String | Строка |
# Примеры
size("Ap") # Возвращает 2
size("Appl") # Возвращает 4
size("Apple") # Возвращает 5
# split(String, String): List[String]
Разбивает строку на список подстрок, используя разделитель.
split(str: String, separator: String): List[String]
# Параметры
Параметр | Описание |
---|---|
str : String | Строка |
separator : Int | Разделитель |
# Примеры
split("A.p.p.l.e", ".") # Возвращает ["A", "p", "p", "l", "e"]
split("Apple", ".") # Возвращает ["Apple"]
split("Apple", "") # Возвращает ["A", "p", "p", "l", "e"]
split("Ap.ple", ".") # Возвращает ["Ap","ple"]
# take(String, Int): String
Возвращает первые n символов строки.
take(xs: String, number: Int): String
# Параметры
Параметр | Описание |
---|---|
xs : String | Строка |
number : Int | Число n |
# Примеры
take("Apple", 0) # Возвращает пустую строку
take("Apple", 1) # Возвращает "A"
take("Apple", 3) # Возвращает "App"
take("Apple", 5) # Возвращает "Apple"
take("Apple", 15) # Возвращает "Apple"
take("Apple", -10) # Возвращает ""
# takeRight(String, Int): String
Возвращает последние n
символов строки.
takeRight(xs: String, number: Int): String
# Параметры
Параметр | Описание |
---|---|
xs : String | Строка |
number : Int | Число n |
# Примеры
takeRight("Apple", 0) # Возвращает пустую строку
takeRight("Apple", 1) # Возвращает "A"
takeRight("Apple", 3) # Возвращает "ple"
takeRight("Apple", 5) # Возвращает "Apple"
takeRight("Apple", 15) # Возвращает "Apple"