манипуляции с текстовыми переменными

Для начинающих.
Всем начинающим - сюда.

Модераторы: Admins, Модераторы

Ответить
jooohny
Сообщения: 151
Зарегистрирован: 18 фев 2009, 07:17

манипуляции с текстовыми переменными

Сообщение jooohny » 17 сен 2009, 14:48

какие возможны манипуляции с текстовыми переменными???
знаю к примеру ${EXTEN:1} - пропустить первый символ....
где еще можно посмотреть возможности, поиском не получилось найти!
Интересны все манипуляции, а в данный момент особенно как убрать последний, символ, например:
было 1234
${EXTEN:1} - даст 234
а как получить 123 ????

xelas
admin
Сообщения: 1142
Зарегистрирован: 05 мар 2007, 11:21

Сообщение xelas » 17 сен 2009, 14:56

Код: Выделить всё

Substrings
   ${foo:offset:length}

returns a substring of the string foo, beginning at offset offset and returning the next length characters. The first character is at offset 0.

    * If offset is negative, it is taken leftwards from the right hand end of the string.
    * If length is omitted or is negative, then all the rest of the string beginning at offset is returned. 


Examples:

   ${123456789:1}        - returns the string 23456789
   ${123456789:-4}       - returns the string 6789
   ${123456789:0:3}      - returns the string 123
   ${123456789:2:3}      - returns the string 345
   ${123456789:-4:3}     - returns the string 678

Examples of use:

   exten => _NXX.,1,SetVar(areacode=${EXTEN:0:3})   - get the first 3 digits of ${EXTEN}
   exten => _516XXXXXXX,1,Dial(${EXTEN:3})          - get all but the first 3 digits of ${EXTEN}
   exten => 100,1,SetVar(whichVowel=4)

   exten => 100,2,SetVar(foo=AEIOU:${whichVowel}:1) - sets ${foo} to the single letter 'U' 
http://www.voip-info.org/wiki/view/Asterisk+variables

jooohny
Сообщения: 151
Зарегистрирован: 18 фев 2009, 07:17

Сообщение jooohny » 17 сен 2009, 15:05

xelas, СПАСИБО!!
А я как тока не извращался, давайте, как говорится, смеятся вместе:
${EXTEN:-1}
${EXTEN*1}
${1:EXTEN}

))))))

Аватара пользователя
bzmn
Сообщения: 124
Зарегистрирован: 20 мар 2009, 14:25

Сообщение bzmn » 20 сен 2009, 03:42

${переменная:0:x}
где х - порядковый номер убираемого символа, если величина номера постоянная

${переменная:0:$[${LEN(${переменная})} - x]}
где x - количество убираемых с конца символов. если величина динамическая

whoim
Сообщения: 57
Зарегистрирован: 29 май 2014, 10:33
Контактная информация:

Re: манипуляции с текстовыми переменными

Сообщение whoim » 03 авг 2018, 13:36

А проверку по поводу нахождения подстроки в строке кто нибудь делал?)

ExecIf($[ ${VARIABLE} содержит "ТЕКСТ" ]?..)
облачные сервера asterisk/freepbx/a2billing/espocrm с полной техподдержкой, от 1490-мес. skype: whoim2, whoim@asterisk.ru


Ответить