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 только показывает его.