0 / 0
Go back to the English version of the documentation
Funkcje łańcuchowe
Last updated: 07 wrz 2023
Funkcje łańcuchowe (SPSS Modeler)

Za pomocą CLEM można uruchamiać operacje w celu porównania łańcuchów, tworzenia łańcuchów lub znaków dostępu.

W CLEM łańcuch jest dowolną sekwencją znaków między zgodnymi podwójnymi znakami cudzysłowu ("string quotes"). Znaki (CHAR) mogą być dowolnymi pojedynczymi znakami alfanumerycznymi. Są one deklarowane w wyrażeniach CLEM przy użyciu apostrofowych cudzysłowów w postaci `<character>`, takich jak `z`, `A`lub `2`. Znaki spoza zakresu lub indeksy ujemne łańcucha spowodują występowanie nieoczekiwanych zachowań.

Uwaga: Porównania między łańcuchami, które nie używają SQL pushback, mogą generować różne wyniki w miejscu, w którym istnieją spacje końcowe.
Tabela 1. Funkcje łańcuchowe CLEM
Funkcja Wynik Opis
allbutfirst(N, STRING) Łańcuch Zwraca łańcuch, który jest STRING z usuniętym pierwszym znakiem N .
allbutlast(N, STRING) Łańcuch Zwraca łańcuch, który jest STRING z usuniętym ostatnim znakiem.
alphabefore(STRING1, STRING2) Wartość boolowska Służy do sprawdzania kolejności alfabetycznej łańcuchów. Zwraca wartość true, jeśli STRING1 poprzedza STRING2.
count_substring(STRING, SUBSTRING) Liczba całkowita Zwraca liczbę wystąpień określonego podłańcucha w łańcuchu. Na przykład count_substring("foooo.txt", "oo") zwraca 3.
endstring(LENGTH, STRING) Łańcuch Wyodrębnia ostatnie N znaki z podanego łańcucha. Jeśli długość łańcucha jest równa określonej długości (lub krótsza), zmiany nie są wprowadzane.
hasendstring(STRING, SUBSTRING) Liczba całkowita Ta funkcja jest taka sama jak funkcja isendstring(SUBSTRING, STRING).
hasmidstring(STRING, SUBSTRING) Liczba całkowita Ta funkcja jest taka sama jak funkcja ismidstring(SUBSTRING, STRING) (osadzony podłańcuch).
hasstartstring(STRING, SUBSTRING) Liczba całkowita Ta funkcja jest taka sama jak funkcja isstartstring(SUBSTRING, STRING).
hassubstring(STRING, N, SUBSTRING) Liczba całkowita Ta funkcja jest taka sama jak funkcja issubstring(SUBSTRING, N, STRING), gdzie N przyjmuje wartości domyślne 1.
hassubstring(STRING, SUBSTRING) Liczba całkowita Ta funkcja jest taka sama jak funkcja issubstring(SUBSTRING, 1, STRING), gdzie N przyjmuje wartości domyślne 1.
isalphacode(CHAR) Wartość boolowska Zwraca wartość true, jeśli CHAR jest znakiem w określonym łańcuchu (często jest to nazwa pola), którego kod znaku jest literą. W przeciwnym razie ta funkcja zwraca wartość 0. Na przykład: isalphacode(produce_num(1)).
isendstring(SUBSTRING, STRING) Liczba całkowita Jeśli łańcuch STRING kończy się podłańcuchem SUBSTRING, wówczas ta funkcja zwraca indeks liczby całkowitej SUBSTRING w STRING. W przeciwnym razie ta funkcja zwraca wartość 0.
islowercode(CHAR) Wartość boolowska Zwraca wartość true , jeśli CHAR jest małą literą dla określonego łańcucha (często jest to nazwa pola). W przeciwnym razie ta funkcja zwraca wartość 0. Na przykład zarówno islowercode(``) , jak i islowercode(country_name(2)) są poprawnymi wyrażeniami.
ismidstring(SUBSTRING, STRING) Liczba całkowita Jeśli SUBSTRING jest podłańcuchem STRING , ale nie rozpoczyna się od pierwszego znaku STRING lub końca ostatniego, ta funkcja zwraca indeks, pod którym rozpoczyna się podłańcuch. W przeciwnym razie ta funkcja zwraca wartość 0.
isnumbercode(CHAR) Wartość boolowska Zwraca wartość true, jeśli CHAR dla podanego łańcucha (często nazwa pola) jest znakiem, którego kod znaku jest cyfrą. W przeciwnym razie ta funkcja zwraca wartość 0. Na przykład: isnumbercode(product_id(2)).
isstartstring(SUBSTRING, STRING) Liczba całkowita Jeśli łańcuch STRING rozpoczyna się od podłańcucha SUBSTRING, ta funkcja zwraca indeks 1. W przeciwnym razie ta funkcja zwraca wartość 0.
issubstring(SUBSTRING, N, STRING) Liczba całkowita Przeszukuje łańcuch STRING, rozpoczynając od znaku Nth , dla podłańcucha równego łańcuchowi SUBSTRING. Jeśli podłańcuch zostanie znaleziony, ta funkcja zwraca całkowitoliczbowy indeks, od którego rozpoczyna się zgodny podłańcuch. W przeciwnym razie ta funkcja zwraca wartość 0. Jeśli parametr N nie zostanie podany, wartością domyślną tej funkcji będzie 1.
issubstring(SUBSTRING, STRING) Liczba całkowita Przeszukuje łańcuch STRING. Jeśli podłańcuch zostanie znaleziony, ta funkcja zwraca całkowitoliczbowy indeks, od którego rozpoczyna się zgodny podłańcuch. W przeciwnym razie ta funkcja zwraca wartość 0.
issubstring_count(SUBSTRING, N, STRING) Liczba całkowita Zwraca indeks Nth wystąpienia SUBSTRING w obrębie określonego STRING. Jeśli liczba wystąpień SUBSTRINGjest mniejsza niż N , zwracana jest wartość 0 .
issubstring_lim(SUBSTRING, N, STARTLIM, ENDLIM, STRING) Liczba całkowita Ta funkcja jest taka sama, jak funkcja issubstring, ale dopasowanie jest ograniczone do uruchamiania na serwerze STARTLIM i do zakończenia w systemie ENDLIM. Ograniczenia STARTLIM lub ENDLIM mogą być wyłączone przez podanie wartości false dla jednego z argumentów-na przykład issubstring_lim(SUBSTRING, N, false, false, STRING) jest taka sama jak issubstring.
isuppercode(CHAR) Wartość boolowska Zwraca wartość true, jeśli CHAR jest wielką literą. W przeciwnym razie ta funkcja zwraca wartość 0. Na przykład zarówno isuppercode(``) , jak i isuppercode(country_name(2)) są poprawnymi wyrażeniami.
last(STRING) Łańcuch Zwraca ostatni znak CHAR z STRING (który musi mieć co najmniej jeden znak długi).
length(STRING) Liczba całkowita Zwraca długość łańcucha STRING (oznacza to liczbę znaków w nim).
locchar(CHAR, N, STRING) Liczba całkowita Służy do określania położenia znaków w zmiennych symbolicznych. Funkcja przeszukuje łańcuch STRING dla znaku CHAR, rozpoczynając wyszukiwanie od znaku Nth w STRING. Ta funkcja zwraca wartość wskazującą położenie (od N) znalezionego znaku. Jeśli znak nie zostanie znaleziony, ta funkcja zwraca wartość 0. Jeśli funkcja ma niepoprawne przesunięcie (N) (na przykład przesunięcie przekraczające długość łańcucha), ta funkcja zwraca wartość $null$.
Na przykład locchar(`n`, 2, web_page) przeszukuje pole o nazwie web_page dla znaku `n` rozpoczynające się od drugiego znaku w wartości pola.
W celu hermetyzowania określonego znaku należy użyć pojedynczych cudzysłowów.
locchar_back(CHAR, N, STRING) Liczba całkowita Podobnie jak w przypadku produktu locchar, z tą różnicą, że wyszukiwanie jest wykonywane wstecz począwszy od znaku Nth . Na przykład locchar_back(`n`, 9, web_page) przeszukuje pole web_page rozpoczynając od dziewiątego znaku i przechodnie do tyłu w kierunku początku łańcucha. Jeśli wartość przesunięcia funkcji jest nieprawidłowa (przykładowo: wartość przesunięcia jest większa niż długość łańcucha), funkcja zwraca wartość $null$. Zaleca się używanie funkcji locchar_back wraz z funkcją length(<field>), pozwoli to na dynamiczne używanie długości bieżącej wartości zmiennej. Przykładowo: locchar_back(`n`, (length(web_page)), web_page).
lowertoupper(CHAR) lowertoupper (STRING) ZNAK lub ŁAŃCUCH Można wprowadzić łańcuch lub znak. Funkcja zwróci nowy element tego samego typu, a wszystkie znaki zapisane małymi literami zostaną przekształcone na wielkie litery. Na przykład lowertoupper(`a`), lowertoupper(“My string”) i lowertoupper(field_name(2)) są poprawnymi wyrażeniami.
matches Wartość boolowska Zwraca true , jeśli łańcuch jest zgodny z określonym wzorcem. Wzorzec musi być literałem łańcuchowym. Nie może to być nazwa pola, która zawiera wzorzec. Do wzorca można umieścić znak zapytania (?), aby dopasować dokładnie jeden znak; gwiazdka (*) oznacza zero lub więcej znaków. Aby dopasować literał do znaku zapytania lub gwiazdki (zamiast używać tych znaków jako znaków wieloznacznych), należy użyć znaku ukośnika odwrotnego (\) jako znaku zmiany znaczenia.
replace(SUBSTRING, NEWSUBSTRING, STRING) Łańcuch W obrębie podanego STRINGzastąp wszystkie instancje produktu SUBSTRING za pomocą NEWSUBSTRING.
replicate(COUNT, STRING) Łańcuch Zwraca łańcuch składający się z oryginalnego łańcucha skopiowanego określoną liczbę razy.
stripchar(CHAR,STRING) Łańcuch Umożliwia usuwanie określonych znaków z łańcucha lub zmiennej. Ta funkcja służy na przykład do usuwania z danych dodatkowych symboli, takich jak oznaczenia waluty, w celu uzyskania prostej liczby lub nazwy. Na przykład użycie składni stripchar(`$`, 'Cost') spowoduje zwrócenie nowej zmiennej ze znakiem dolara usuniętym ze wszystkich wartości.
W celu hermetyzowania określonego znaku należy użyć pojedynczych cudzysłowów.
skipchar(CHAR, N, STRING) Liczba całkowita Przeszukuje łańcuch STRING pod kątem dowolnego znaku innego niż CHAR, rozpoczynając od znaku Nth . Ta funkcja zwraca podłańcuch w postaci liczby całkowitej wskazujący punkt, w którym znajduje się znaleziony lub 0 , jeśli każdy znak z Nth jest CHAR. Jeśli wartość przesunięcia funkcji jest nieprawidłowa (przykładowo: wartość przesunięcia jest większa niż długość łańcucha), funkcja zwraca wartość $null$.
locchar jest często używany w połączeniu z funkcjami programu skipchar w celu określenia wartości N (punkt, w którym ma zostać rozpoczęte wyszukiwanie łańcucha). Na przykład: skipchar(`s`, (locchar(`s`, 1, "MyString")), "MyString").
skipchar_back(CHAR, N, STRING) Liczba całkowita Podobnie jak w przypadku produktu skipchar, z tym wyjątkiem, że wyszukiwanie jest wykonywane wstecz, począwszy od znaku Nth .
startstring(N, STRING) Łańcuch Wyodrębnia pierwszych N znaków z określonego łańcucha. Jeśli długość łańcucha jest równa określonej długości (lub krótsza), zmiany nie są wprowadzane.
strmember(CHAR, STRING) Liczba całkowita Jest równoważne locchar(CHAR, 1, STRING). Zwraca on podłańcuch będący liczbą całkowitą wskazujący punkt, w którym najpierw występuje CHAR , lub 0. Jeśli wartość przesunięcia funkcji jest nieprawidłowa (przykładowo: wartość przesunięcia jest większa niż długość łańcucha), funkcja zwraca wartość $null$.
subscrs(N, STRING) ZNAK Zwraca Nth znak CHAR łańcucha wejściowego STRING. Ta funkcja może być również zapisana w postaci skróconej: STRING(N). Na przykład lowertoupper(“name”(1)) jest poprawnym wyrażeniem.
substring(N, LEN, STRING) Łańcuch Zwraca łańcuch SUBSTRINGskładający się ze znaków LEN w łańcuchu STRING, począwszy od znaku w podskrypcie N.
substring_between(N1, N2, STRING) Łańcuch Zwraca podłańcuch STRING, który rozpoczyna się od podskryptu N1 , a kończy w podskrypcie N2.
textsplit(STRING, N, CHAR) Łańcuch textsplit(STRING,N,CHAR) zwraca podłańcuch między wystąpieniem Nth-1 i Nth wystąpienia CHAR. If N is 1, then it will return the substring from the beginning of STRING up to but not including CHAR. Jeśli N-1 jest ostatnim wystąpieniem CHAR, to zwróci podłańcuch z Nth-1 wystąpienia CHAR na koniec łańcucha.
trim(STRING) Łańcuch Usuwa spacje początkowe i końcowe z określonego łańcucha.
trimstart(STRING) Łańcuch Usuwa spacje początkowe z określonego łańcucha.
trimend(STRING) Łańcuch Usuwa spacje końcowe z określonego łańcucha.
unicode_char(NUM) ZNAK Wartość wejściowa musi być wartością dziesiętną, a nie szesnastkową. Zwraca znak o kodzie Unicode NUM.
unicode_value(CHAR) LICZBA Zwraca wartość Unicode CHAR.
uppertolower(CHAR) uppertolower (STRING) ZNAK lub ŁAŃCUCH Można wprowadzić łańcuch lub znak. Funkcja zwróci nowy element tego samego typu, a wszystkie znaki zapisane wielkimi literami zostaną przekształcone na małe litery.
Pamiętaj, aby określić łańcuchy zawierające znaki cudzysłowu i znaki z apostrofami. Proste nazwy zmiennych należy wprowadzić bez cudzysłowów.
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