D.16. CUT()

CUT(Variablenname,Trennzeichen,Feld)
Zerteilt den String in einer Variablen anhand eines Trennzeichens (Default: -) und gibt den so entstandenen Einzelteil an der Stelle Feld (1-basiert) zurück. Feld kann auch eine Spanne sein (z. B. 2-4) oder mehrere Felder/Spannen, die durch & getrennt werden, z. B. 2-4&6; die entsprechenden Felder werden dann wieder durch das Trennzeichen verbunden. Auch eine Range wie 3- (alles ab Feld 3) oder -3 (bis Feld 3) ist möglich.
Ein Komma als Trennzeichen muss durch Backslash escaped werden, z. B. CUT(var,\,,2).
exten => 123,1,Set(var=1-2-3-4-5)            ; var ist "1-2-3-4-5"
exten => 123,n,Set(var=${CUT(var,,1-3&5)})   ; var ist "1-2-3-5"

Wichtig

Der Parameter Variablenname muss der Name einer Variablen sein, nicht ein String. Dies wäre also falsch: CUT(${bar},,3)
Asterisk-Versionen:
————————| 1.2 |————————| 1.4 |————————| 1.6 |————————
Interner Hilfetext zu dieser Funktion in Asterisk 1.4:
  -= Info about function 'CUT' =-

[Syntax]
CUT(<varname>,<char-delim>,<range-spec>)

[Synopsis]
Slices and dices strings, based upon a named delimiter.

[Description]
  varname    - variable you want cut
  char-delim - defaults to '-'
  range-spec - number of the field you want (1-based offset)
             may also be specified as a range (with -)
             or group of ranges and fields (with &)
Differenz des internen Hilfetexts von Asterisk 1.2 zu 1.4:
— keine —
Differenz des internen Hilfetexts von Asterisk 1.4 zu 1.6:
— keine —