Команда Cut
Назначение:
Выделение подстрок из строковых переменных с переменной длиной.Описание:
Cut(newvar=varname,delimiter,fieldspec)- newvar: имя переменной, которой будет присвоена строка с результатом
- varname: переменная, из которой надо извлечь подстроки
- delimiter: по умолчанию, символ -
- fieldspec: количество необходимых вам полей (смещение начинается с единицы), так же может быть задано как промежуток (с помощью символа -) или группа полей и промежутков (с помощью символа &)
Замечания
- Разделителем должен быть одиночный символ. Если задано несколько символов, то будет использован только первый символ.
- Когда задано несколько полей, тогда в результате получится строка, собранная из заданных полей и разделенные заданным разделителем.
- Это команда очень полезна, когда мы имеем дело со строковыми полями переменной длины. Для обработки строк с фиксированной длиной, используйте встроенные возможности по выделению подстрок.
Параметр varname должен быть именем переменной, а не обращением к ее значению. Это редкий случай применения такого синтаксиса. Итак:
exten => s,1,Cut(foo=bar,,2) ; Это правильно
exten => s,1,Cut(foo=${bar},,2) ; Это неправильно
Коды возврата
Возвращает 0 или -1 при разрыве связи или ошибке.Пример:
exten => s,1,SetVar(foo=1-2-3-4-5)exten => s,2,Cut(foo=foo,,1-3&5)
переменная foo теперь имеет значение 1-2-3-5