Retourner à la version anglaise de la documentationFonctions de chaîne
Fonctions de chaîne (SPSS Modeler)
Dernière mise à jour : 20 déc. 2024
Avec CLEM, vous pouvez exécuter des opérations pour comparer des chaînes, créer des chaînes ou accéder à des caractères.
Dans CLEM, une chaîne est une séquence de caractères entre des guillemets ("string quotes"
). Les caractères (CHAR
) peuvent être tout caractère alphanumérique unique. Ils sont déclarés dans des expressions CLEM à l'aide de guillemets simples inversés sous la forme `<character>`
, par exemple `z`
, `A`
ou `2`
. Les caractères hors limites ou les indices négatifs d'une chaîne génèrent un comportement indéfini.
Remarque: les comparaisons entre les chaînes qui utilisent et n'utilisent pas la fonctionnalité SQL Pushback peuvent générer des résultats différents lorsqu'il existe des espaces de fin.
Fonction | Résultat | Descriptif |
---|---|---|
allbutfirst(N, STRING) |
Chaîne | Renvoie la chaîne STRING où les N premiers caractères ont été supprimés. |
allbutlast(N, STRING) |
Chaîne | Renvoie la chaîne STRING où les derniers caractères ont été supprimés. |
alphabefore(STRING1, STRING2) |
Booléen | Utilisée pour vérifier l'ordre alphabétique des chaînes. Renvoie une valeur vraie (True) si STRING1 précède STRING2 . |
count_substring(STRING, SUBSTRING) |
Entier | Renvoie le nombre de fois où la sous-chaîne indiquée apparaît dans la chaîne. Par exemple, count_substring("foooo.txt", "oo") renvoie 3 . |
endstring(LENGTH, STRING) |
Chaîne | Extrait les N derniers caractères de la chaîne indiquée. Si la longueur de la chaîne est inférieure ou égale à la valeur spécifiée, aucune modification n'a lieu. |
hasendstring(STRING, SUBSTRING) |
Entier | Cette fonction est identique à isendstring(SUBSTRING, STRING) . |
hasmidstring(STRING, SUBSTRING) |
Entier | Cette fonction est identique à ismidstring(SUBSTRING, STRING) (sous-chaîne incorporée). |
hasstartstring(STRING, SUBSTRING) |
Entier | Cette fonction est identique à isstartstring(SUBSTRING, STRING) . |
hassubstring(STRING, N, SUBSTRING) |
Entier | Cette fonction est identique à issubstring(SUBSTRING, N, STRING) , où N prend par défaut la valeur 1 . |
hassubstring(STRING, SUBSTRING) |
Entier | Cette fonction est identique à issubstring(SUBSTRING, 1, STRING) , où N prend par défaut la valeur 1 . |
isalphacode(CHAR) |
Booléen | Renvoie la valeur true (vrai) si CHAR est un caractère dont le code de caractère est une lettre dans la chaîne indiquée (souvent un nom de champ). Sinon, cette fonction renvoie la valeur 0 . Par exemple, isalphacode(produce_num(1)) . |
isendstring(SUBSTRING, STRING) |
Entier | Si la chaîne STRING se termine par la sous-chaîne SUBSTRING , cette fonction renvoie l'indice d'entier de SUBSTRING dans STRING . Sinon, cette fonction renvoie la valeur 0 . |
islowercode(CHAR) |
Booléen | Renvoie la valeur true si CHAR est un caractère en minuscules pour la chaîne spécifiée (souvent un nom de zone). Sinon, cette fonction renvoie la valeur 0 . Par exemple, islowercode(``) et islowercode(country_name(2)) sont des expressions valides. |
ismidstring(SUBSTRING, STRING) |
Entier | Si SUBSTRING est une sous-chaîne de la chaîne STRING , mais qu'elle ne commence pas par le premier caractère de STRING et ne se termine pas par le dernier, cette fonction renvoie l'indice auquel la sous-chaîne commence. Sinon, cette fonction renvoie la valeur 0 . |
isnumbercode(CHAR) |
Booléen | Renvoie la valeur true (vrai) si CHAR est un caractère dont le code de caractère est un chiffre dans la chaîne indiquée (souvent un nom de champ). Sinon, cette fonction renvoie la valeur 0 . Par exemple, isnumbercode(product_id(2)) . |
isstartstring(SUBSTRING, STRING) |
Entier | Si la chaîne STRING commence par la sous-chaîne SUBSTRING , cette fonction renvoie l'indice 1 . Sinon, cette fonction renvoie la valeur 0 . |
issubstring(SUBSTRING, N, STRING) |
Entier | Recherche dans la chaîne STRING , à partir de son caractère Nth , une sous-chaîne égale à la chaîne SUBSTRING . Si cette sous-chaîne est trouvée, la fonction renvoie l'indice d'entier auquel la sous-chaîne correspondante commence. Sinon, cette fonction renvoie la valeur 0 . Si N n'est pas indiqué, la valeur par défaut de cette fonction est 1 . |
issubstring(SUBSTRING, STRING) |
Entier | Recherche la chaîne STRING . Si cette sous-chaîne est trouvée, la fonction renvoie l'indice d'entier auquel la sous-chaîne correspondante commence. Sinon, cette fonction renvoie la valeur 0 . |
issubstring_count(SUBSTRING, N, STRING) |
Entier | Renvoie l'index de l'occurrence Nth de SUBSTRING dans le STRING spécifié. S'il y a moins de N occurrences de SUBSTRING , 0 est renvoyé. |
issubstring_lim(SUBSTRING, N, STARTLIM, ENDLIM, STRING) |
Entier | Cette fonction est identique à issubstring , mais la correspondance est contrainte de commencer sur STARTLIM et de se terminer sur ENDLIM . Les contraintes STARTLIM ou ENDLIM peuvent être désactivées en fournissant la valeur false pour l'un ou l'autre des arguments. Par exemple, issubstring_lim(SUBSTRING, N, false, false,
STRING) est identique à issubstring . |
isuppercode(CHAR) |
Booléen | Renvoie une valeur true (vrai) si CHAR est un caractère majuscule. Sinon, cette fonction renvoie la valeur 0 . Par exemple, isuppercode(``) et isuppercode(country_name(2)) sont des expressions valides. |
last(STRING) |
Chaîne | Renvoie le dernier caractère CHAR de la chaîne STRING (qui doit contenir au moins un caractère). |
length(STRING) |
Entier | Renvoie la longueur de la chaîne STRING (c'est-à-dire le nombre de caractères). |
locchar(CHAR, N, STRING) |
Entier | Sert à identifier l'emplacement de caractères dans des champs symboliques. La fonction recherche le caractère CHAR dans la chaîne STRING , en commençant par le caractère Nth de STRING . Cette fonction renvoie une valeur indiquant l'emplacement (à partir de N ) où se trouve le caractère. Si le caractère est introuvable, cette fonction renvoie la valeur 0. Si la fonction comporte un décalage (N) incorrect (par exemple, un décalage dépassant la longueur de la chaîne), elle renvoie $null$ . Par exemple, locchar(`n`, 2,
web_page) recherche dans la zone appelée web_page le caractère `n` commençant par le deuxième caractère de la valeur de la zone. Veillez à utiliser des guillemets simples pour encapsuler le caractère spécifié. |
locchar_back(CHAR, N, STRING) |
Entier | Similaire à locchar , sauf que la recherche est effectuée en amont à partir du caractère Nth . Par exemple, locchar_back(`n`, 9,
web_page) recherche la zone web_page en commençant par le neuvième caractère et en remontant vers le début de la chaîne. Si cette fonction a un décalage incorrect (par exemple, décalage dépassant la longueur de la chaîne), elle renvoie $null$ . Dans l'idéal, vous devez utiliser locchar_back en conjonction avec la fonction length(<field>) pour utiliser dynamiquement la longueur de la valeur en cours du champ. (par exemple, locchar_back(`n`, (length(web_page)), web_page) ). |
lowertoupper(CHAR) lowertoupper (STRING) |
CHAR ou Chaîne | L'entrée peut être soit une chaîne soit un caractère, qui est utilisé dans cette fonction pour renvoyer un nouvel élément de même type, avec les caractères minuscules convertis dans leurs équivalents majuscules. Par exemple, lowertoupper(`a`) , lowertoupper(“My string”) et lowertoupper(field_name(2)) sont toutes des expressions valides. |
matches |
Booléen | Renvoie true si une chaîne correspond à un modèle spécifié. Le modèle doit être un littéral chaîne ; il ne peut pas s'agir d'un nom de zone contenant un modèle. Vous pouvez inclure un point d'interrogation (? ) dans le modèle pour qu'il corresponde exactement à un caractère ; un astérisque (* ) correspond à zéro ou plusieurs caractères. Pour faire correspondre un point d'interrogation littéral ou un astérisque (au lieu de les utiliser comme caractères génériques), utilisez une barre oblique inversée (\ ) comme caractère d'échappement. |
replace(SUBSTRING, NEWSUBSTRING, STRING) |
Chaîne | Dans la chaîne STRING indiquée, remplace toutes les instances de la sous-chaîne SUBSTRING par la nouvelle sous-chaîne NEWSUBSTRING . |
replicate(COUNT, STRING) |
Chaîne | Renvoie une chaîne qui se compose de la chaîne d'origine copiée le nombre de fois indiqué. |
stripchar(CHAR,STRING) |
Chaîne | Cette fonction permet de supprimer des caractères d'une chaîne ou d'un champ. Vous pouvez l'utiliser, par exemple, pour supprimer de vos données des symboles de devises afin d'obtenir un simple nombre ou un nom. Par exemple, l'utilisation de la syntaxe stripchar(`$`, 'Cost') renvoie un nouveau champ avec le signe dollar supprimé de toutes les valeurs. Veillez à utiliser des guillemets simples pour encapsuler le caractère spécifié. |
skipchar(CHAR, N, STRING) |
Entier | Recherche dans la chaîne STRING tout caractère autre que CHAR , en commençant par le caractère Nth . Cette fonction renvoie une sous-chaîne entière indiquant le point où elle est trouvée ou 0 si chaque caractère de Nth est un CHAR . Si cette fonction a un décalage incorrect (par exemple, décalage dépassant la longueur de la chaîne), elle renvoie $null$ . locchar est souvent utilisé conjointement avec les fonctions skipchar pour déterminer la valeur de N (point où commencer la recherche dans la chaîne). Par exemple, skipchar(`s`, (locchar(`s`, 1,
"MyString")), "MyString") . |
skipchar_back(CHAR, N, STRING) |
Entier | Similaire à skipchar , sauf que la recherche est effectuée en amont, en commençant par le caractère Nth . |
startstring(N, STRING) |
Chaîne | Extrait les N premiers caractères de la chaîne indiquée. Si la longueur de la chaîne est inférieure ou égale à la valeur spécifiée, aucune modification n'a lieu. |
strmember(CHAR, STRING) |
Entier | Equivaut à locchar(CHAR, 1, STRING) . Elle renvoie une sous-chaîne entière indiquant le point où CHAR apparaît pour la première fois, ou 0 . Si cette fonction a un décalage incorrect (par exemple, décalage dépassant la longueur de la chaîne), elle renvoie $null$ . |
subscrs(N, STRING) |
CHAR | Renvoie le Nth caractère CHAR de la chaîne d'entrée STRING . Cette fonction peut également être écrite en sténographie, STRING(N) . Par exemple, l'expression lowertoupper(“name”(1)) est correcte. |
substring(N, LEN, STRING) |
Chaîne | Renvoie une chaîne SUBSTRING , qui se compose des LEN caractères de la chaîne STRING , en commençant par le caractère à l'indice N. |
substring_between(N1, N2, STRING) |
Chaîne | Renvoie la sous-chaîne de la chaîne STRING qui commence à l'indice N1 et se termine à l'indice N2 . |
textsplit(STRING, N, CHAR) |
Chaîne | textsplit(STRING,N,CHAR) renvoie la sous-chaîne entre l'occurrence Nth-1 et Nth de CHAR . Si N a pour valeur 1 , la sous-chaîne sera renvoyée du début de STRING jusqu'à CHAR non inclus. Si N-1 est la dernière occurrence de CHAR , elle renvoie la sous-chaîne de l'occurrence Nth-1 de CHAR à la fin de la chaîne. |
trim(STRING) |
Chaîne | Supprime les espaces blancs situés au début et à la fin de la chaîne indiquée. |
trimstart(STRING) |
Chaîne | Supprime les espaces blancs situés au début de la chaîne indiquée. |
trimend(STRING) |
Chaîne | Supprime les espaces blancs situés à la fin de la chaîne indiquée. |
unicode_char(NUM) |
CHAR | L'entrée doit contenir des valeurs décimales et non hexadécimales. Renvoie le caractère avec la valeur Unicode NUM . |
unicode_value(CHAR) |
NOMBRE | Renvoie la valeur Unicode de CHAR . |
uppertolower(CHAR) uppertolower (STRING) |
CHAR ou Chaîne | L'entrée peut être soit une chaîne soit un caractère, qui est utilisé dans cette fonction pour renvoyer un nouvel élément de même type avec les caractères en majuscule convertis dans leurs équivalents en minuscule. N'oubliez pas de spécifier des chaînes avec des guillemets et des caractères avec des guillemets simples. Les noms de champ simples ne doivent pas contenir de guillemets. |