0 / 0
Retourner à la version anglaise de la documentation
Fonctions de chaîne
Dernière mise à jour : 20 déc. 2024
Fonctions de chaîne (SPSS Modeler)

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.
Tableau 1. Fonctions de chaîne CLEM
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 STRINGspé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 CHARdans 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'à CHARnon 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.
Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus