Copy

Материал из UoPilot
Версия от 10:20, 28 августа 2019; Tatikoma (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Описание

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

Синтаксис

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

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

где:
<String> - строка, из которой производится копирование
<Index> - начальная позиция копирования
<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
Insert
PosEx
Get word
Get number

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

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

Copy(String Index Count)

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