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)
Siehe auch
Abschnitt D.35, „FIELDQTY()
“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 &)