CUT()

CUT(Variablenname,Trennzeichen,Feld)

(Offenbar müssen in Asterisk 1.2.8 statt der Kommas zwischen den Parametern Pipe-Zeichen (|) verwendet werden.)

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, durch & getrennt, 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. Die wäre also falsch: CUT(${bar},,3)

Siehe auch.  FIELDQTY()

[Anmerkung]

Interner Hilfetext zu dieser Applikation 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 zum internen Hilfetext in Asterisk 1.2: 

- keine -