Строки это скалярный неизменяемый объект. Строки объявляются в виде:
string message = "Hello";Конкатенация строк:
string username = "User";
string new_message = message ~ " " ~ username;При конкатенации строк, создается новый объект. Поэтому, если нужно соединить множество строк, то необходимо использовать Vector:
Vector messages = [];
string message = rs::join("", messages);
print(message);Для работы со строками используется библиотека Runtime.rs
Чтобы узнать длину строки, нужно использовать strlen
int rs::strlen(string s);string rs::substr(string s, int start, int len);s - строка
start - начало
len - длина новой строки
char rs::charAt(string s, string pos);s - строка
pos - номер символа
int rs::chr(int code);code - Код
int rs::ord(char ch);ch - символ
string rs::lower(string s);s - строка
string rs::upper(string s);s - строка
int rs::compare(string a, string b);a и b строки
Пример использования:
Vector arr = [
"apple",
"banana",
"orange"
];
arr.sort(int (string a, string b) => rs::compare(a, b));int rs::replace(string search, string item, string s);search - Ищем строку
item - Новая строка
s - Строка, в которой происходит поиск
string rs::str_repeat(string s, int n);s - строка
n - сколько раз повторить
string rs::split(string delimiter, string s, int limit = -1)delimiter - разделитель
s - строка
limit - максимальное количество строк
Vector<string> rs::splitArr(Vector<string> delimiters, string s, int limit = -1);delimiters - разделители
s - строка
limit - максимальное количество
string rs::join(string ch, Vector<string> arr);ch - символ или строка
arr - строки
string rs::join_path(Vector arr);arr - путь url
Пример
string path = rs::join_path(["folder", "name.txt"]);string rs::trim(string s, string ch = "");s - строка
ch - какие символы нужно удалять
int rs::indexOf(string s, string search, string offset = 0);s - строка, в которой происходит поиск
search - искомая строка
offset - с какого символа начинаем поиск
string rs::format(string s, Dict params = null);s - строка
params - параметры
Пример:
string message = rs::format("Hello %username%", {"username": "User"});