-
Notifications
You must be signed in to change notification settings - Fork 0
API InStrRev
Codex edited this page Sep 19, 2026
·
4 revisions
Оглавление · Алфавитный указатель · BASIC built-ins
ClassicUO • Runtime API
Ищет последнее вхождение подстроки.
InStrRev(value:String, search:String) -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
-
value— Исходная строка. -
search— Искомая подстрока; сравнение учитывает регистр.
Integer — позиция последнего совпадения от 1; 0, если совпадения нет. Для пустого search возвращается Len(value)+1. Начальная позиция отдельным аргументом не поддерживается.
- Выполняется локально и не обращается к игровому серверу. Исходная строка не изменяется: результат нужно сохранить или передать дальше.
- Позиции и длины строк считаются в единицах UTF-16. Символ за пределами BMP, например emoji, занимает две единицы. Это не количество байтов UTF-8.
# Последний разделитель
#
# Ищет последнее вхождение подстроки.
#
# Integer — позиция последнего совпадения от 1; 0, если совпадения нет. Для пустого search
# возвращается Len(value)+1. Начальная позиция отдельным аргументом не поддерживается.
SUB Main()
# Ищется последний / во всей строке.
# Ожидаемый результат: 4. В result сохраняется результат выражения; Print только показывает его.
VAR result = InStrRev('a/b/c', '/')
UO.Print(CStr(result))
END SUBРазбор параметров и выполнения:
- Ищется последний / во всей строке.
- Ожидаемый результат: 4. В result сохраняется результат выражения; Print только показывает его.
# Отсутствующая подстрока
#
# Ищет последнее вхождение подстроки.
#
# Integer — позиция последнего совпадения от 1; 0, если совпадения нет. Для пустого search
# возвращается Len(value)+1. Начальная позиция отдельным аргументом не поддерживается.
SUB Main()
# x не встречается.
# Ожидаемый результат: 0. В result сохраняется результат выражения; Print только показывает его.
VAR result = InStrRev('abc', 'x')
UO.Print(CStr(result))
END SUBРазбор параметров и выполнения:
- x не встречается.
- Ожидаемый результат: 0. В result сохраняется результат выражения; Print только показывает его.
# Совпадение с учётом регистра
#
# Ищет последнее вхождение подстроки.
#
# Integer — позиция последнего совпадения от 1; 0, если совпадения нет. Для пустого search
# возвращается Len(value)+1. Начальная позиция отдельным аргументом не поддерживается.
SUB Main()
# Маленькая a встречается только во второй позиции.
# Ожидаемый результат: 2. В result сохраняется результат выражения; Print только показывает его.
VAR result = InStrRev('AaA', 'a')
UO.Print(CStr(result))
END SUBРазбор параметров и выполнения:
- Маленькая a встречается только во второй позиции.
- Ожидаемый результат: 2. В result сохраняется результат выражения; Print только показывает его.
ClassicUO - Bad Newbie & Basic IDE Edition