0 / 0
Go back to the English version of the documentation
Řetězcové funkce
Last updated: 04. 4. 2023
Řetězcové funkce (SPSS Modeler)

Pomocí produktu CLEM můžete spouštět operace pro porovnání řetězců, vytváření řetězců nebo přístupové znaky.

V produktu CLEM se jedná o posloupnost znaků mezi odpovídajícími dvojitými uvozovkami ("string quotes"). Znaky (CHAR) mohou být libovolný alfanumerický znak. Jsou deklarovány ve výrazech CLEM pomocí jednoduchých uvozovek ve formě `<character>`, jako je `z`, `A`nebo `2`. Znaky, které jsou mimo rozsah nebo záporné indexy na řetězec, budou mít za následek nedefinované chování.

Poznámka: Porovnání mezi řetězci, které používají a které nepoužívají zpětné lomítko SQL, může generovat různé výsledky, pokud existují koncové mezery.
Tabulka 1. Funkce řetězce CLEM
Funkce Výsledek Popis
allbutfirst(N, STRING) Řetězec Vrací řetězec, který je STRING s prvními N znaky, které byly odstraněny.
allbutlast(N, STRING) Řetězec Vrací řetězec, který je STRING s odebraným posledním znakem.
alphabefore(STRING1, STRING2) Logická hodnota Používá se ke kontrole abecedního pořadí řetězců. Vrátí logickou hodnotu true, pokud STRING1 předchází STRING2.
count_substring(STRING, SUBSTRING) Celé číslo Vrátí počet, kolikrát se uvedený podřetězec vyskytuje v řetězci. Příklad: count_substring("foooo.txt", "oo") vrátí hodnotu 3.
endstring(LENGTH, STRING) Řetězec Extrahuje poslední N znaky ze zadaného řetězce. Je-li délka řetězce menší nebo rovna zadané délce, pak se nezmění.
hasendstring(STRING, SUBSTRING) Celé číslo Tato funkce je stejná jako isendstring(SUBSTRING, STRING).
hasmidstring(STRING, SUBSTRING) Celé číslo Tato funkce je stejná jako ismidstring(SUBSTRING, STRING) (vložený podřetězec).
hasstartstring(STRING, SUBSTRING) Celé číslo Tato funkce je stejná jako isstartstring(SUBSTRING, STRING).
hassubstring(STRING, N, SUBSTRING) Celé číslo Tato funkce je stejná jako issubstring(SUBSTRING, N, STRING), kde N standardně zobrazuje 1.
hassubstring(STRING, SUBSTRING) Celé číslo Tato funkce je stejná jako issubstring(SUBSTRING, 1, STRING), kde N standardně zobrazuje 1.
isalphacode(CHAR) Logická hodnota Vrací hodnotu true, pokud CHAR je znak v uvedeném řetězci (často jméno pole), jehož znakový kód je písmeno. V opačném případě tato funkce vrací hodnotu parametru 0. Například isalphacode(produce_num(1)).
isendstring(SUBSTRING, STRING) Celé číslo Pokud řetězec STRING končí řetězcem podřetězcem SUBSTRING, vrací tato funkce celočíselný dolní index SUBSTRING v STRING. V opačném případě tato funkce vrací hodnotu parametru 0.
islowercode(CHAR) Logická hodnota Vrací hodnotu true , pokud CHAR je znak malého písmene pro zadaný řetězec (často název pole). V opačném případě tato funkce vrací hodnotu parametru 0. Platnými výrazy jsou například islowercode(``) a islowercode(country_name(2)) .
ismidstring(SUBSTRING, STRING) Celé číslo Pokud SUBSTRING je podřetězec STRING , ale nezačíná na prvním znaku STRING nebo končí na posledním, pak tato funkce vrací dolní index, na kterém začíná podřetězec. V opačném případě tato funkce vrací hodnotu parametru 0.
isnumbercode(CHAR) Logická hodnota Vrací hodnotu true, pokud CHAR pro zadaný řetězec (často název pole) je znak, jehož znakový kód je číslice. V opačném případě tato funkce vrací hodnotu parametru 0. Například isnumbercode(product_id(2)).
isstartstring(SUBSTRING, STRING) Celé číslo Pokud řetězec STRING začíná s podřetězcem SUBSTRING, pak tato funkce vrací dolní index 1. V opačném případě tato funkce vrací hodnotu parametru 0.
issubstring(SUBSTRING, N, STRING) Celé číslo Vyhledává řetězec STRINGod jeho znaku Nth , a to za podřetězec rovnající se řetězci SUBSTRING. Je-li nalezen, vrací tato funkce celočíselný dolní index, na kterém začíná odpovídající podřetězec. V opačném případě tato funkce vrací hodnotu parametru 0. Není-li parametr N zadán, je tato funkce standardně nastavena na hodnotu 1.
issubstring(SUBSTRING, STRING) Celé číslo Prohledává řetězec STRING. Je-li nalezen, vrací tato funkce celočíselný dolní index, na kterém začíná odpovídající podřetězec. V opačném případě tato funkce vrací hodnotu parametru 0.
issubstring_count(SUBSTRING, N, STRING) Celé číslo Vrací index výskytu Nth výskytu SUBSTRING v rámci zadaného STRING. Pokud existuje méně než N výskytů SUBSTRING, 0 se vrátí.
issubstring_lim(SUBSTRING, N, STARTLIM, ENDLIM, STRING) Celé číslo Tato funkce je stejná jako issubstring, ale shoda je omezena na spuštění na STARTLIM a na konci ENDLIM. Omezení STARTLIM nebo ENDLIM mohou být zakázána zadáním hodnoty false pro jeden z argumentů-například issubstring_lim(SUBSTRING, N, false, false, STRING) je stejné jako issubstring.
isuppercode(CHAR) Logická hodnota Vrací hodnotu true, pokud CHAR je znak velkého písmene. V opačném případě tato funkce vrací hodnotu parametru 0. Platnými výrazy jsou například isuppercode(``) a isuppercode(country_name(2)) .
last(STRING) Řetězec Vrací poslední znak CHAR z STRING (který musí být dlouhý alespoň jeden znak).
length(STRING) Celé číslo Vrací délku řetězce STRING (to znamená počet znaků v něm).
locchar(CHAR, N, STRING) Celé číslo Používá se k identifikaci umístění znaků v symbolických polích. Funkce prohledá řetězec STRING pro znak CHAR, spouští vyhledávání na znaku Nth znaku STRING. Tato funkce vrací hodnotu udávající umístění (začínající na N), kde je znak nalezen. Není-li tento znak nalezen, vrátí tato funkce hodnotu 0. Má-li funkce neplatný offset (N) (například offset, který přesahuje délku řetězce), vrátí tato funkce $null$.
Například, locchar(`n`, 2, web_page) prohledá pole s názvem web_page pro znak `n` začínající na druhém znaku v hodnotě pole.
Chcete-li zapouzdřit zadaný znak, ujistěte se, že jste použili jednoduché zpětné uvozovky.
locchar_back(CHAR, N, STRING) Celé číslo Podobně jako locchar, s tím rozdílem, že vyhledávání probíhá od znaku Nth od začátku. Například locchar_back(`n`, 9, web_page) prohledá pole web_page od devátého znaku a posune se zpět směrem ke začátku řetězce. Má-li funkce neplatné posunutí (například offset, který přesahuje délku řetězce), vrátí tato funkce $null$. V ideálním případě byste měli používat locchar_back ve spojení s funkcí length(<field>) a dynamicky používat délku aktuální hodnoty pole. Například locchar_back(`n`, (length(web_page)), web_page).
lowertoupper(CHAR) lowertoupper (STRING) CHAR nebo String Vstup může být buď řetězec nebo znak, který se používá v této funkci k vrácení nové položky stejného typu, s libovolnými malými písmeny převedenými na jejich velká písmena. Všechny platné výrazy jsou například lowertoupper(`a`), lowertoupper(“My string”)a lowertoupper(field_name(2)) .
matches Logická hodnota Vrátí true , pokud řetězec odpovídá určenému vzoru. Vzor musí být řetězcový literál; nesmí se jednat o název pole, který obsahuje vzor. Do vzoru můžete zahrnout otazník (?), aby odpovídal právě jednomu znaku; hvězdička (*) odpovídá nule nebo více znakům. Chcete-li porovnat literálový otazník nebo hvězdičku (místo použití těchto zástupných znaků), použijte jako řídicí znak zpětné lomítko (\).
replace(SUBSTRING, NEWSUBSTRING, STRING) Řetězec V rámci zadaného parametru STRINGnahraďte všechny instance produktu SUBSTRING řetězcem NEWSUBSTRING.
replicate(COUNT, STRING) Řetězec Vrátí řetězec, který se skládá z původního řetězce zkopírovaného zadaného počtu opakování.
stripchar(CHAR,STRING) Řetězec Umožňuje vám odebrat uvedené znaky z řetězce nebo pole. Tuto funkci můžete použít například k odebrání přebytečných symbolů, jako jsou například notace měny, od dat k dosažení jednoduchého čísla nebo názvu. Například použití syntaxe stripchar(`$`, 'Cost') vrátí nové pole s odebraným znakem dolaru ze všech hodnot.
Chcete-li zapouzdřit zadaný znak, ujistěte se, že jste použili jednoduché zpětné uvozovky.
skipchar(CHAR, N, STRING) Celé číslo Vyhledává řetězec STRING pro jakýkoliv jiný znak než CHAR, počínaje znakem Nth . Tato funkce vrací celočíselný podřetězec označující bod, ve kterém je nalezen, nebo 0 , pokud každý znak od Nth dále je CHAR. Má-li funkce neplatné posunutí (například offset, který přesahuje délku řetězce), vrátí tato funkce $null$.
locchar se často používá ve spojení s funkcemi skipchar k určení hodnoty N (bod, ve kterém se má začít prohledávat řetězec). Například skipchar(`s`, (locchar(`s`, 1, "MyString")), "MyString").
skipchar_back(CHAR, N, STRING) Celé číslo Podobně jako skipchar, až na to, že vyhledávání probíhá zpětně, počínaje znakem Nth .
startstring(N, STRING) Řetězec Extrahuje prvních N znaků z uvedeného řetězce. Je-li délka řetězce menší nebo rovna zadané délce, pak se nezmění.
strmember(CHAR, STRING) Celé číslo Ekvivalentní proměnné locchar(CHAR, 1, STRING). Vrací celočíselný podřetězec označující bod, v němž se CHAR poprvé vyskytuje, nebo 0. Má-li funkce neplatné posunutí (například offset, který přesahuje délku řetězce), vrátí tato funkce $null$.
subscrs(N, STRING) ZNAK Vrací znak Nth CHAR vstupního řetězce STRING. Tato funkce může být také zapsána v zkrácené formě jako STRING(N). Například lowertoupper(“name”(1)) je platný výraz.
substring(N, LEN, STRING) Řetězec Vrací řetězec SUBSTRING, který se skládá ze znaků LEN řetězce STRINGzačínajících od znaku při dolním indexu N.
substring_between(N1, N2, STRING) Řetězec Vrací dílčí řetězec STRING, který začíná u dolního indexu N1 a končí indexem N2.
textsplit(STRING, N, CHAR) Řetězec textsplit(STRING,N,CHAR) vrací podřetězec mezi výskyty Nth-1 a Nth CHAR. Je-li N 1, pak vrátí podřetězec od začátku STRING až do, ale ne včetně CHAR. Je-li N-1 posledním výskytem CHAR, vrátí podřetězec od výskytu CHAR Nth-1 až do konce řetězce.
trim(STRING) Řetězec Odebírá úvodní a koncové znaky mezery z určeného řetězce.
trimstart(STRING) Řetězec Odebírá úvodní znaky mezery z určeného řetězce.
trimend(STRING) Řetězec Odebírá koncové znaky mezery z určeného řetězce.
unicode_char(NUM) ZNAK Vstupem musí být desetinné číslo, nikoli hexadecimální hodnoty. Vrací znak s hodnotou Unicode NUM.
unicode_value(CHAR) Číslo Vrací hodnotu Unicode CHAR.
uppertolower(CHAR) uppertolower (STRING) CHAR nebo String Vstup může být řetězec nebo znak a používá se v této funkci k vrácení nové položky stejného typu se všemi velkými písmeny převedenými na jejich malá ekvivalenty.
Nezapomeňte zadat řetězce s dvojitými uvozovkami a znaky s jednoduchými uvozovkami. Jednoduché názvy polí by měly být zadány bez uvozovek.
Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more