PosEx: различия между версиями
Перейти к навигации
Перейти к поиску
Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == Возврат позиции подстроки в строке. == Синтаксис == set <имя_переменной> PosEx(&l...») |
Tatikoma (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
== Синтаксис == | == Синтаксис == | ||
− | set | + | set <имя_переменной> PosEx(<подстрока> <строка> [стартовая_позиция_поиска]) |
− | + | <имя_переменной> - имя переменной в которую будет помещён результат. | |
− | + | <br><подстрока> - искомая строка. | |
− | + | <br><строка> - строка, в которой происходит поиск. | |
− | + | <br>[стартовая_позиция_поиска] - порядковый номер символа с которого начнется поиск (по умолчанию 1). Необязательный параметр. | |
− | + | <br><br>Если искомая подстрока не найдена, то результат будет равен 0 | |
== Примеры == | == Примеры == | ||
Строка 56: | Строка 56: | ||
[[Get word]] | [[Get word]] | ||
− | + | <br>[[Get number]] | |
− | + | <br>[[Copy]] | |
− | + | <br>[[Delete]] | |
− | + | <br>[[Insert]] | |
== История развития == | == История развития == | ||
'''2.23''' | '''2.23''' | ||
− | + | <br>Добавил функции для работы со строками: | |
'PosEx(SubStr String [Offset=1])' | 'PosEx(SubStr String [Offset=1])' | ||
− | Возвращает позицию подстроки | + | Возвращает позицию подстроки <SubStr> в строке <String>, начиная поиск с позиции [Offset] (по умолчанию Offset=1). |
[[Категория:Текст]] | [[Категория:Текст]] |
Текущая версия на 11:02, 28 августа 2019
Описание
Возврат позиции подстроки в строке.
Синтаксис
set <имя_переменной> PosEx(<подстрока> <строка> [стартовая_позиция_поиска])
<имя_переменной> - имя переменной в которую будет помещён результат.
<подстрока> - искомая строка.
<строка> - строка, в которой происходит поиск.
[стартовая_позиция_поиска] - порядковый номер символа с которого начнется поиск (по умолчанию 1). Необязательный параметр.
Если искомая подстрока не найдена, то результат будет равен 0
Примеры
// Пример 1 set $s абвгдеёж set #n posex(в $s) // #n = 3 set #n posex(я $s) // #n = 0
// Пример 2 set #m posex(ин машина) // #m = 4
// Пример 3 set #m1 posex(а машина) // #m1 = 2 set #m2 posex(а машина 3) // #m2 = 6
// Пример 4 set $a "мама мыла раму" set $b "мыла" set #pos PosEx($b $a 2) // #pos = 6. Слово Offset не пишите - оно игнорируется вместе с тем, что после него msg #pos
// Пример 5 set $s Недавно Вася съел 15 яблок, обжора... // фраза в которой будем искать число яблок set #еще_яблоки 3 // никто не знал об этих яблоках... set $ws съел // левое от числа слово set #wlen size ( $ws ) // длина левого_слова set $w2 яблок // правое от числа слово set #n1 posex($ws $s) // позиция в строке с которой начинается левое_слово set #n2 posex($w2 $s) // позиция в строке с которой начинается правое_слово if ( #n1 > 0) and ( #n2 > 0 ) // если оба слова были найдены, то будем доставать число... set #pos #n1 + #wlen // позиция в строке с которой начинается число set #len #n2 - #pos // длина числа в символах set $res copy($s #pos #len) // получаем из строки нужную нам подстроку с числом яблок set #всего_яблок $res + #еще_яблоки // считаем сколько всего слопано msg Дятел: А ВАСЯ СЪЕЛ #всего_яблок ЯБЛОК!!! // бдительность- залог успеха else msg Яблок никто не ел! // неправильные исходные данные часто спасают преступников ) end_if end_script
Смотрите также
Get word
Get number
Copy
Delete
Insert
История развития
2.23
Добавил функции для работы со строками:
'PosEx(SubStr String [Offset=1])'
Возвращает позицию подстроки <SubStr> в строке <String>, начиная поиск с позиции [Offset] (по умолчанию Offset=1).