Команда Cut


Назначение:

Выделение подстрок из строковых переменных с переменной длиной.

Описание:

Cut(newvar=varname,delimiter,fieldspec)

  • newvar: имя переменной, которой будет присвоена строка с результатом
  • varname: переменная, из которой надо извлечь подстроки
  • delimiter: по умолчанию, символ -
  • fieldspec: количество необходимых вам полей (смещение начинается с единицы), так же может быть задано как промежуток (с помощью символа -) или группа полей и промежутков (с помощью символа &)

Замечания

  • Разделителем должен быть одиночный символ. Если задано несколько символов, то будет использован только первый символ.
  • Когда задано несколько полей, тогда в результате получится строка, собранная из заданных полей и разделенные заданным разделителем.
  • Это команда очень полезна, когда мы имеем дело со строковыми полями переменной длины. Для обработки строк с фиксированной длиной, используйте встроенные возможности по выделению подстрок.

exclaim Параметр 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


Ссылки по теме: