Copy

Материал из UoPilot
Версия от 20:39, 27 августа 2019; Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == Copy - позволяет копировать один или несколько символов из строки с указанной...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Описание

Copy - позволяет копировать один или несколько символов из строки с указанной позиции.

Синтаксис

Привязка к окну: нет. <br>Работа со свернутым окном: да.

Copy(<String> <Index> <Count>)

где:<br> <String> - строка, из которой производится копирование<br> <Index> - начальная позиция копирования<br> <Count> - количество символов для копирования

Примеры

// Пример 1
set $s матрёшка
set $t copy($s 2 3) // $t = атр
// Пример 2
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

Смотрите также

Delete <br>Insert <br>PosEx <br>Get word <br>Get number

История развития

2.23 <br>Добавил функцию для работы со строками:

Copy(String Index Count)

Возвращает подстроку из строки <String>, содержащую <Count> символов, начиная с позиции <Index>.