API Replace - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Replace
Оглавление · Алфавитный указатель · BASIC built-ins
ClassicUO • Runtime API
Заменяет все точные вхождения подстроки.
Точный синтаксис
Replace(value:String, search:String, replacement:String) -> String
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
value— Исходный текст.search— Искомый непустой текст; регистр учитывается. Пустой search сохраняет исходную строку.replacement— Текст замены; пустая строка удаляет совпадения.
Возвращает
String — полный текст после замен; если совпадений нет, исходная строка. Возвращается текст, а не число замен. Новые совпадения внутри replacement повторно не заменяются.
Поведение
- Выполняется локально и не обращается к игровому серверу. Исходная строка не изменяется: результат нужно сохранить или передать дальше.
- Позиции и длины строк считаются в единицах UTF-16. Символ за пределами BMP, например emoji, занимает две единицы. Это не количество байтов UTF-8.
Примеры
Пример 1. Заменить разделители
# Заменить разделители
#
# Заменяет все точные вхождения подстроки.
#
# String — полный текст после замен; если совпадений нет, исходная строка. Возвращается текст, а
# не число замен. Новые совпадения внутри replacement повторно не заменяются.
SUB Main()
# value — список; search=","; replacement=";".
# Ожидаемый результат: строка a;b;c. В result сохраняется результат выражения; Print только
# показывает его.
VAR result = Replace('a,b,c', ',', ';')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- value — список; search=","; replacement=";".
- Ожидаемый результат: строка a;b;c. В result сохраняется результат выражения; Print только показывает его.
Пример 2. Удалить пробелы
# Удалить пробелы
#
# Заменяет все точные вхождения подстроки.
#
# String — полный текст после замен; если совпадений нет, исходная строка. Возвращается текст, а
# не число замен. Новые совпадения внутри replacement повторно не заменяются.
SUB Main()
# Каждый обычный пробел заменяется пустой строкой.
# Ожидаемый результат: строка abc. В result сохраняется результат выражения; Print только
# показывает его.
VAR result = Replace('a b c', ' ', '')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Каждый обычный пробел заменяется пустой строкой.
- Ожидаемый результат: строка abc. В result сохраняется результат выражения; Print только показывает его.
Пример 3. Пустой поиск безопасен
# Пустой поиск безопасен
#
# Заменяет все точные вхождения подстроки.
#
# String — полный текст после замен; если совпадений нет, исходная строка. Возвращается текст, а
# не число замен. Новые совпадения внутри replacement повторно не заменяются.
SUB Main()
# Пустой search не вставляет x между символами.
# Ожидаемый результат: строка abc. В result сохраняется результат выражения; Print только
# показывает его.
VAR result = Replace('abc', '', 'x')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Пустой search не вставляет x между символами.
- Ожидаемый результат: строка abc. В result сохраняется результат выражения; Print только показывает его.