Funkcje ciągów znaków

Wszystkie wymienione tutaj funkcje są obsługiwane w:

Funkcje są wymienione bez dodatkowych informacji. Kliknij funkcję, aby wyświetlić pełne szczegóły.

Funkcja Opis
ascii Kod ASCII skrajnego lewego znaku wartości.
bitlength Długość wartości w bitach.
bytelength Długość wartości w bajtach.
char Zwraca znak, interpretując wartość jako kod ASCII.
concat Ciąg znaków powstały przez połączenie wartości wskazanych pozycji lub wartości stałych.
contains Zwraca 1, jeśli wartość zawiera podciąg określony przez search value, w przeciwnym razie 0.
insert Wstawia określone znaki lub spacje do ciągu znaków, zaczynając od określonej pozycji w ciągu.
jsonpath Zwraca wynik JSONPath.
left Zwraca skrajne lewe znaki wartości.
length Długość wartości w znakach.
ltrim Usuwa określone znaki z początku ciągu.
mid Zwraca podciąg o długości N znaków, zaczynający się od pozycji znaku określonej przez „start”. Ta funkcja jest aliasem funkcji substring().
repeat Powtarza ciąg znaków.
replace Znajduje wzorzec w wartości i zastępuje go określonym tekstem.
right Zwraca skrajne prawe znaki wartości.
rtrim Usuwa określone znaki z końca ciągu.
substring Zwraca podciąg o długości N znaków, zaczynający się od pozycji znaku określonej przez „start”.
trim Usuwa określone znaki z początku i końca ciągu.
xmlxpath Zwraca wynik XML XPath.

Szczegóły funkcji

Kilka ogólnych uwag dotyczących parametrów funkcji:

  • Parametry funkcji są oddzielane przecinkiem
  • Wyrażenia są akceptowane jako parametry
  • Parametry tekstowe muszą być ujęte w podwójny cudzysłów; w przeciwnym razie mogą zostać błędnie zinterpretowane
  • Opcjonalne parametry funkcji (lub części parametrów) są oznaczane przez < >
ascii(value)

Kod ASCII skrajnie lewego znaku wartości.
Obsługiwane typy wartości: String, Text, Log.

Parametr:

  • value - wartość do sprawdzenia

Na przykład wartość taka jak 'Abc' zwróci '65' (kod ASCII dla 'A').

Przykład:

ascii(last(/host/key))
bitlength(value)

Długość wartości w bitach.
Obsługiwane typy wartości: String, Text, Log, Integer.

Parametr:

  • value - wartość do sprawdzenia

Przykład:

bitlength(last(/host/key))
bytelength(value)

Długość wartości w bajtach.
Obsługiwane typy wartości: String, Text, Log, Integer.

Parametr:

  • value - wartość do sprawdzenia

Przykład:

bytelength(last(/host/key))
char(value)

Zwraca znak poprzez interpretację wartości jako kodu ASCII.
Obsługiwane typy wartości: Integer.

Parametr:

  • value — wartość do sprawdzenia

Wartość musi mieścić się w zakresie 0–255. Na przykład wartość taka jak „65” (interpretowana jako kod ASCII) zwróci „A”.

Przykład:

char(last(/host/key))
concat(<value1>,<value2>,...)

Ciąg znaków wynikający z połączenia wartości referencyjnych pozycji lub wartości stałych.
Obsługiwane typy wartości: String, Text, Log, Float, Integer.

Parametr:

  • valueX - wartość zwracana przez jedną z funkcji historii lub wartość stała (ciąg znaków, liczba całkowita lub zmiennoprzecinkowa). Musi zawierać co najmniej dwa parametry.

Na przykład wartość taka jak 'Zab' połączona z 'bix' (stały ciąg znaków) zwróci 'Zabbix'.

Przykłady:

concat(last(/host/key),"bix")
concat("1 min: ",last(/host/system.cpu.load[all,avg1]),", 15 min: ",last(/host/system.cpu.load[all,avg15]))
contains(value, search value)

Zwraca 1, jeśli wartość zawiera podciąg określony przez search value, w przeciwnym razie zwraca 0.| Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • search value - wartość do wyszukania.

Uwagi:

  • Wyszukiwanie uwzględnia wielkość liter.
  • Jeśli wartość jest prawidłowa, a search value jest pusty, funkcja zwraca 1.

Na przykład funkcja zwraca 1, jeśli wartość zawiera „Zabbix”.

Przykład:

contains(last(/host/key),"Zabbix")
insert(value,start,length,replacement)

Wstawia określone znaki lub spacje do ciągu znaków, zaczynając od wskazanej pozycji w ciągu.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • start - pozycja początkowa;
  • length - pozycje do zastąpienia;
  • replacement - ciąg zastępujący.

Na przykład wartość taka jak 'Zabbbix' zostanie zastąpiona przez 'Zabbix', jeśli 'bb' (pozycja początkowa 3, liczba pozycji do zastąpienia 2) zostanie zastąpione przez 'b'.

Przykład:

insert(last(/host/key),3,2,"b")
jsonpath(value,path,<default>)

Zwraca wynik JSONPath.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • path - ścieżka (musi być ujęta w cudzysłów);
  • default - opcjonalna wartość zapasowa, jeśli zapytanie JSONPath nie zwróci danych. Należy pamiętać, że w przypadku innych błędów zwracane jest niepowodzenie (np. „unsupported construct”).

Przykład:

jsonpath(last(/host/proc.get[zabbix_agentd,,,summary]),"$..size")
left(value,count)

Zwraca skrajnie lewe znaki wartości.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • count - liczba znaków do zwrócenia.

Na przykład można zwrócić „Zab” z „Zabbix”, określając 3 skrajnie lewe znaki do zwrócenia. Zobacz także right().

Przykład:

left(last(/host/key),3) #zwraca trzy skrajnie lewe znaki
length(value)

Długość wartości w znakach.
Obsługiwane typy wartości: String, Text, Log.

Parametr:

  • value - wartość do sprawdzenia.

Przykłady:

length(last(/host/key)) #długość najnowszej wartości
length(last(/host/key,#3)) #długość trzeciej najnowszej wartości
length(last(/host/key,#1:now-1d)) #długość najnowszej wartości sprzed jednego dnia
ltrim(value,<chars>)

Usuń określone znaki z początku ciągu.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • chars (opcjonalnie) - określa znaki do usunięcia.

Domyślnie usuwane są białe znaki z początku ciągu (jeśli nie określono opcjonalnych znaków). Zobacz także: rtrim(), trim().

Przykłady:

ltrim(last(/host/key)) #usuń białe znaki z początku ciągu
ltrim(last(/host/key),"Z") #usuń dowolne 'Z' z początku ciągu
ltrim(last(/host/key)," Z") #usuń dowolną spację i 'Z' z początku ciągu
mid(value,start,length)

Zwraca podciąg o długości N znaków, rozpoczynający się na pozycji znaku określonej przez parametr „start”.
Ta funkcja jest aliasem funkcji substring().
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • start - pozycja początkowa podciągu;
  • length - liczba pozycji do zwrócenia w podciągu.

Na przykład można zwrócić „abbi” z wartości „Zabbix”, jeśli pozycja początkowa wynosi 2, a liczba pozycji do zwrócenia wynosi 4.

Przykład:

mid(last(/host/key),2,4)="abbi"
repeat(value,count)

Powtórz ciąg znaków.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • count - liczba powtórzeń.

Przykład:

repeat(last(/host/key),2) #powtórz wartość dwa razy
replace(value,pattern,replacement)

Znajduje wzorzec w wartości i zastępuje go ciągiem replacement. Wszystkie wystąpienia wzorca zostaną zastąpione.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • pattern - wzorzec do znalezienia;
  • replacement - ciąg, którym zostanie zastąpiony wzorzec.

Przykład:

replace(last(/host/key),"ibb","abb") #zastępuje wszystkie 'ibb' przez 'abb'

Zwraca skrajnie prawe znaki wartości.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • count - liczba znaków do zwrócenia.

Na przykład można zwrócić „bix” z „Zabbix”, podając 3 skrajnie prawe znaki do zwrócenia. Zobacz także left().

Przykład:

right(last(/host/key),3) #zwraca trzy skrajnie prawe znaki
rtrim(value,<chars>)

Usuwa określone znaki z końca ciągu znaków.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • chars (opcjonalnie) - określa znaki do usunięcia.

Domyślnie usuwane są białe znaki z prawej strony (jeśli nie określono opcjonalnych znaków). Zobacz także: ltrim(), trim().

Przykłady:

rtrim(last(/host/key)) #usuń białe znaki z końca ciągu znaków
rtrim(last(/host/key),"x") #usuń wszystkie znaki 'x' z końca ciągu znaków
rtrim(last(/host/key),"x ") #usuń wszystkie znaki 'x' i spacje z końca ciągu znaków
substring(value,start,length)

Zwraca podciąg o długości N znaków, rozpoczynający się na pozycji znaku określonej przez parametr „start”.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • start - pozycja początkowa podciągu;
  • length - liczba pozycji zwracanych w podciągu.

Na przykład można zwrócić „abbi” z wartości „Zabbix”, jeśli pozycja początkowa wynosi 2, a liczba zwracanych pozycji wynosi 4.

Przykład:

substring(last(/host/key),2,4)="abbi"
trim(value,<chars>)

Usuń określone znaki z początku i końca ciągu znaków.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • chars (opcjonalnie) - określa znaki do usunięcia.

Domyślnie z obu stron usuwane są białe znaki (jeśli nie określono opcjonalnych znaków). Zobacz także: ltrim(), rtrim().

Przykłady:

trim(last(/host/key)) #usuń białe znaki z początku i końca ciągu znaków
trim(last(/host/key),"_") #usuń '_' z początku i końca ciągu znaków
xmlxpath(value,path,<default>)

Zwraca wynik XML XPath.
Obsługiwane typy wartości: String, Text, Log.

Parametry:

  • value - wartość do sprawdzenia;
  • path - ścieżka (musi być ujęta w cudzysłów);
  • default - opcjonalna wartość zastępcza, jeśli zapytanie XML XPath zwróci pusty zbiór węzłów. Nie zostanie zwrócona, jeśli pusty wynik nie jest zbiorem węzłów (tj. pustym ciągiem). W przypadku innych błędów zwracane jest niepowodzenie (np. „invalid expression”).

Przykład:

xmlxpath(last(/host/xml_result),"/response/error/status")

Zobacz wszystkie obsługiwane funkcje.