[comment]: # attributes: notoc

[comment]: # (terms: ascii, bitlength, bytelength, char, concat, insert, left, length, ltrim, mid, repeat, replace, right, rtrim, trim )

[comment]: # ({12ccadca-b12f316b})
# 9 Funkcje tekstowe

Wszystkie funkcje wymienione tutaj są obsługiwane w:

-   [Wyrażeniach wyzwalaczy](/manual/config/triggers/expression)
-   [Pozycjach obliczanych](/manual/config/items/itemtypes/calculated)
-   [Makrach wyrażeń](/manual/config/macros/expression_macros)

Funkcje są wymienione bez dodatkowych informacji. Kliknij nazwę funkcji, aby zobaczyć pełne szczegóły.

|Function|Description|
|--|--------|
|[ascii](#ascii)|Kod ASCII najbardziej lewego znaku wartości.|
|[bitlength](#bitlength)|Długość wartości w bitach.|
|[bytelength](#bytelength)|Długość wartości w bajtach.|
|[char](#char)|Zwraca znak, interpretując wartość jako kod ASCII.|
|[concat](#concat)|Łańcuch wynikający z połączenia wartości odwołanych pozycji lub wartości stałych.|
|[insert](#insert)|Wstawia określone znaki lub spacje do łańcucha znaków, zaczynając od określonej pozycji w łańcuchu.|
|[jsonpath](#jsonpath)|Zwraca wynik JSONPath.|
|[left](#left)|Zwraca najbardziej lewe znaki wartości.|
|[length](#length)|Długość wartości w znakach.|
|[ltrim](#ltrim)|Usuwa określone znaki z początku łańcucha.|
|[mid](#mid)|Zwraca podciąg o N znakach, zaczynający się od pozycji znaku określonej przez 'start'.|
|[repeat](#repeat)|Powtarza łańcuch.|
|[replace](#replace)|Wyszukuje wzorzec w wartości i zastępuje go wartością zastępczą.|
|[right](#right)|Zwraca najbardziej prawe znaki wartości.|
|[rtrim](#rtrim)|Usuwa określone znaki z końca łańcucha.|
|[trim](#trim)|Usuwa określone znaki z początku i końca łańcucha.|
|[xmlxpath](#xmlxpath)|Zwraca wynik XML XPath.|

[comment]: # ({/12ccadca-b12f316b})

[comment]: # ({3df12990-e91f4bca})
### 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
    `<` `>`

[comment]: # ({/3df12990-e91f4bca})

[comment]: # ({6ce6045e-6bdf63a4})
##### ascii(value) {#ascii}

Kod ASCII skrajnie lewego znaku wartości.<br>
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))

[comment]: # ({/6ce6045e-6bdf63a4})

[comment]: # ({1ab24b6c-30f96a52})
##### bitlength(value) {#bitlength}

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

Parametr: 

-   **value** - wartość do sprawdzenia

Przykład:

    bitlength(last(/host/key))

[comment]: # ({/1ab24b6c-30f96a52})

[comment]: # ({8c21016a-d58806ed})
##### bytelength(value) {#bytelength}

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

Parametr: 

-   **value** - wartość do sprawdzenia

Przykład:

    bytelength(last(/host/key))

[comment]: # ({/8c21016a-d58806ed})

[comment]: # ({62456378-e35a326a})
##### char(value) {#char}

Zwraca znak poprzez interpretację wartości jako kodu ASCII.<br>
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))

[comment]: # ({/62456378-e35a326a})

[comment]: # ({e3481e84-5e2f76e5})
##### concat(<value1>,<value2>,...) {#concat}

Ciąg znaków wynikający z połączenia wartości referencyjnych pozycji lub wartości stałych.<br>
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]))

[comment]: # ({/e3481e84-5e2f76e5})

[comment]: # ({ebd6582c-06698de3})
##### insert(value,start,length,replacement) {#insert}

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

Parametry: 

-   **value** - wartość do sprawdzenia;<br>
-   **start** - pozycja początkowa;<br>
-   **length** - pozycje do zastąpienia;<br>
-   **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")

[comment]: # ({/ebd6582c-06698de3})

[comment]: # ({52f92ac2-2791e6b1})
##### jsonpath(value,path,<default>) {#jsonpath}

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

Parametry: 

-   **value** - wartość do sprawdzenia;<br>
-   **path** - ścieżka (musi być ujęta w cudzysłów);<br>
-   **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")

[comment]: # ({/52f92ac2-2791e6b1})

[comment]: # ({3802644b-16f928ed})
##### left(value,count) {#left}

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

Parametry: 

-   **value** - wartość do sprawdzenia;<br>
-   **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()](#right).

Przykład:

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

[comment]: # ({/3802644b-16f928ed})

[comment]: # ({b64efd51-b8f86065})
##### length(value) {#length}

Długość wartości w znakach.<br>
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

[comment]: # ({/b64efd51-b8f86065})

[comment]: # ({561f79d7-01a5023c})
##### ltrim(value,<chars>) {#ltrim}

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

Parametry: 

-   **value** - wartość do sprawdzenia;<br>
-   **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()](#rtrim), [trim()](#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

[comment]: # ({/561f79d7-01a5023c})

[comment]: # ({a67fc1e0-de3605ed})
##### mid(value,start,length) {#mid}

Zwraca podciąg N znaków, zaczynając od pozycji znaku określonej przez parametr „start”.<br>
Obsługiwane typy wartości: *String*, *Text*, *Log*.

Parametry: 

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

Na przykład możliwe jest zwrócenie „abbi” z wartości takiej jak „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"

[comment]: # ({/a67fc1e0-de3605ed})

[comment]: # ({f8b077e7-9e3e42f7})
##### repeat(value,count) {#repeat}

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

Parametry: 

-   **value** - wartość do sprawdzenia;<br>
-   **count** - liczba powtórzeń.

Przykład:

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

[comment]: # ({/f8b077e7-9e3e42f7})

[comment]: # ({54a6774a-6aa607aa})
##### replace(value,pattern,replacement) {#replace}

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

Parametry: 

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

Przykład:

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

[comment]: # ({/54a6774a-6aa607aa})

[comment]: # ({30c04fe6-ccefcd9e})
##### right(value,count) {#right}

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

Parametry: 

-   **value** - wartość do sprawdzenia;<br>
-   **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()](#left).

Przykład:

    right(last(/host/key),3) #zwraca trzy skrajnie prawe znaki

[comment]: # ({/30c04fe6-ccefcd9e})

[comment]: # ({d1d00105-6e9972ef})
##### rtrim(value,<chars>) {#rtrim}

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

Parametry: 

-   **value** - wartość do sprawdzenia;<br>
-   **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()](#ltrim), [trim()](#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

[comment]: # ({/d1d00105-6e9972ef})

[comment]: # ({a119fc60-97fb4186})
##### trim(value,<chars>) {#trim}

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

Parametry: 

-   **value** - wartość do sprawdzenia;<br>
-   **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()](#ltrim), [rtrim()](#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

[comment]: # ({/a119fc60-97fb4186})

[comment]: # ({ab4c5ed4-b7fde6b3})
##### xmlxpath(value,path,<default>) {#xmlxpath}

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

Parametry: 

-   **value** - wartość do sprawdzenia;<br>
-   **path** - ścieżka (musi być ujęta w cudzysłów);<br>
-   **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")

[comment]: # ({/ab4c5ed4-b7fde6b3})

[comment]: # ({ba59dd3a-b8eeecec})
Zobacz [wszystkie obsługiwane funkcje](/manual/appendix/functions).

[comment]: # ({/ba59dd3a-b8eeecec})
