Skip to main content

Fonctions chaîne

Une fonction chaîne exécute des opérations sur des données de texte. Utilisez une fonction chaîne pour nettoyer les données, convertir des données dans un autre format ou casse, calculer des métriques relatives aux données ou effectuer d’autres manipulations. Utilisez les fonctions chaîne avec des types de données  chaîne uniquement.

Contains

Contains (String, Target, CaseInsensitive = 1)  : recherche l'occurrence d'une chaîne particulière dans une chaîne. Renvoie la valeur vraie si la chaîne (String) contient la chaîne cible (Target), sinon  renvoie la valeur fausse.

Exemple

Contains('123ABC', 'ABC') renvoie True (Vrai).

Contains('123ABC', 'abc') renvoie True (Vrai).

Contains('123ABC', 'abc', 0) renvoie False (Faux).

CountWords

CountWords(string) : renvoie le nombre de mots dans la chaîne spécifiée. Les mots sont définis comme des ensembles de caractères séparés par un espace.

Exemple

CountWords("Basic Variables Households") renvoie 3.

CountWords("Basic Variables Age:Female (Pop)Age 1") renvoie 5.

DecomposeUnicodeForMatch

DecomposeUnicodeForMatch(String) : retire les accents et développe les caractères composés pendant la conversion en chaîne étroite. Cette fonction prend un type de données WString d'Alteryx et le convertit en un type de données String étroit avec des lettres minuscules. Tous les accents et similaires sont enlevés. Reportez-vous à la section Types de données pour plus d'informations sur les types de données Alteryx.

Important

Cette fonction n’est utile que pour les opérations de concordance. Son résultat n’est pas considéré comme une chaîne normalisée.

La fonction n'est pas conçue pour être utilisée avec des jeux de caractères non occidentaux comme le japonais. Vous devriez éviter d'utiliser cette fonction dans des chaînes qui peuvent contenir des caractères étendus. Sachez que les caractères étendus sont convertis en « ? ».

Exemple

DecomposeUnicodeForMatch("Prénoms français") renvoie les prénoms français.

EndsWith

EndsWith(String, Target, CaseInsensitive=1) : vérifie si une chaîne se termine par une chaîne particulière. Renvoie True si la chaîne (String) se termine par la chaîne cible (Target), sinon renvoie False. Par défaut, il est insensible à la casse.

Exemple

EndsWith('123ABC', 'ABC') renvoie True (Vrai).

EndsWith('123ABC', 'abc') renvoie True (Vrai).

EndsWith('123ABC', 'abc', 0) renvoie False (Faux).

FindString

Important

La fonction FindString est sensible à la casse.

FindString(String,Target) : recherche l'occurrence d'une chaîne particulière (Target) dans une autre chaîne (String) et renvoie la position numérique de son occurrence dans la chaîne.

Renvoie l’index de base 0 de la première occurrence de la cible (Target) dans la chaîne (String). Renvoie -1 en l'absence d'occurrence.

Exemple

FindString([Name], "John") renvoie 0 lorsque la chaîne commence par John et renvoie -1 dans le cas contraire.

IF (FINDSTRING([Name], "John") =0) THEN "John Smith" ELSE "Other" ENDIF renvoie John Smith si la chaîne commence par John et renvoie Other dans le cas contraire.

GetWord

GetWord(string, n) : renvoie le Nième mot (base 0) de la chaîne (l'index en base 0 signifie que le premier mot se trouve à la position 0, le second à la position 1, et ainsi de suite). Les mots sont définis comme un ensemble de caractères séparés par un espace, une tabulation, un retour ou un saut de ligne. Plusieurs délimiteurs consécutifs sont traités comme un seul délimiteur.

Exemple

GetWord("Basic Variables Households", 0) renvoie « Basic ».

GetWord("Basic Variables Households", 1) renvoie « Variables ».

Left

Left(String, len) : renvoie les premiers caractères (len) de la chaîne (String). Si len est inférieur à 0 ou supérieur à la longueur de la chaîne (String), la chaîne reste inchangée.

Exemple

Left("92688", 3) renvoie la valeur « 926 ».

Length

Length(String)  : renvoie la longueur de la chaîne (String).

Avertissement

Les résultats de longueur peuvent différer entre cette fonction Designer et les fonctions SQL. Tout dépend de la façon dont une base de données particulière traite les caractères étendus et les sauts de ligne. Par exemple, les caractères de nouvelle ligne sont pris en compte dans la fonction Longueur de PostgreSQL, alors qu'ils ne le sont pas dans la fonction Longueur de Designer, et les résultats dans Designer peuvent différer selon que le pilote ANSI ou Unicode est utilisé.

Exemple

Length("92688") renvoie la valeur 5.

LowerCase

LowerCase(String) : convertit une chaîne en minuscules.

Exemple

LowerCase("M1P 1G6") renvoie « m1p 1g6 ».

MD5_ASCII

MD5_ASCII(String) : calcule le hachage MD5 de la chaîne. La chaîne ne devrait comporter que des caractères étroits. Les caractères étendus sont convertis en « ? » avant de calculer le hachage. À utiliser pour les types de données String, déconseillé pour les types de données WString. Vous devez éviter d'utiliser cette fonction sur des chaînes pouvant contenir des caractères étendus.

MD5_UNICODE

MD5_UNICODE(String) : pour le moteur d'origine et l'AMP, calcule le hachage MD5 de la chaîne stockée avec le codage UTF-16.

MD5_UTF8

MD5_UTF8(String) : calcule le hachage MD5 de la chaîne stockée avec le codage UTF-8.

Exemple

Md5_Ascii("Lá") , stocké en Latin1, occupe 2 octets, 4C E1. La fonction calcule le hachage MD5 des octets, donnant le résultat « 0c0ee86cc87d87125ad8923562be952e ».

Md5_Ascii("Lá ☢") , le caractère ☢ étendu est remplacé par un « ? », c'est donc comme si vous calculiez Md5_Ascii("Lá?"). Il est stocké en Latin1 sur 3 octets, 4C E1 3F. La fonction calcule le hachage MD5 des octets, donnant le résultat « a5a308ab19acf900efea8fc7b5b77b4d »

Md5_Unicode("Lá") , stocké en UTF-16, occupe 4 octets, 4C 00 E1 00. La fonction calcule le MD5 des octets, donnant le résultat « aa9969dfcca04249842cc457e5b3dd01 ».

Md5_Unicode("Lá ☢") , lorsqu'il est stocké en UTF-16, occupe 8 octets, 4C 00 E1 00 3C D8 C8 DF. La fonction calcule le hachage MD5 des octets, donnant le résultat « 7c4762d93572dd02a8a405232e966b18 »

Md5_Utf8("Lá") , stocké en UTF-8, occupe 3 octets, 4C C3 A1. La fonction calcule le MD5 des octets, donnant le résultat « 68f00289dc3be140b1dfd4e031d733f1 ».

Md5_Utf8("Lá ☢") , lorsqu'il est stocké en UTF-8, occupe 7 octets, 4C C3 A1 F0 9F 8F 88. La fonction calcule le hachage MD5 des octets, donnant le résultat « 383fc0355db728a2078ce41a2ab6211b »

PadLeft

PadLeft (String, len, char)  : remplit le côté gauche de la chaîne (chaîne) avec le caractère spécifié jusqu’à la longueur spécifiée. Si le remplissage (char) est supérieur à un caractère, seul le premier caractère est utilisé.

Exemple

PadLeft("M", 4, "x") renvoie « xxxM ».

PadRight

PadRight (String, len, char)  : remplit le côté droit de la chaîne (String) avec le caractère spécifié jusqu’à la longueur spécifiée. Si le remplissage (char) est supérieur à un caractère, seul le premier caractère est utilisé.

Exemple

PadRight("M", 4, "x") renvoie « Mxxx ».

REGEX_CountMatches

REGEX_CountMatches(String,pattern,icase) : renvoie le nombre de concordances dans la chaîne (String) avec le modèle.

icase est un paramètre facultatif. S’il est spécifié, la casse doit concorder. Par défaut, icase=1 (signifie que la casse est ignorée). S’il est défini sur 0, la casse doit concorder.

REGEX_Match

REGEX_Match(String,pattern,icase) : recherche une occurrence d'une expression régulière dans une chaîne.

Indique si la chaîne concorde avec le schéma du premier caractère jusqu’à la fin.

  • Pour rechercher un élément qui ne commence pas nécessairement au début de la chaîne, commencez le schéma par « .* ».

  • Pour rechercher un élément qui ne s’arrête pas nécessairement à la fin de la chaîne, terminez le schéma par « .* ».

icase est un paramètre facultatif. S’il est spécifié, la casse doit concorder. Par défaut, icase=1 (signifie que la casse est ignorée). S’il est défini sur 0, la casse doit concorder.

Exemple

REGEX_Match("123-45-6789", "\d{3}-\d{2}-\d{4}") renvoie -1 (Vrai).

REGEX_Replace

REGEX_Replace(String, pattern, replace, icase) : permet de remplacer du texte en utilisant des expressions régulières et renvoie la chaîne résultant des fonctions RegEx rechercher (pattern) et remplacer (string). Toutes les occurrences de la concordance sont remplacées, pas seulement la première.

Le paramètre de remplacement peut être une valeur spécifiée (comme indiqué ci-dessous) ou un groupe marqué, par exemple « $1 ». Assurez-vous de placer les groupes marqués entre guillemets doubles.

icase est un paramètre facultatif. S’il est spécifié, la casse doit concorder.

  • Par défaut, icase=1 signifie que la casse est ignorée.

  • S’il est défini sur 0, la casse doit concorder.

Exemple

REGEX_Replace("Don't reveal your Social Security number, 123-45-6789","\d{3}-\d{2}-\d{4}", "CLASSIFIED") renvoie « Don't reveal your Social Security number, CLASSIFIED ».

REGEX_Replace("Change all domain names from alteryx@Alteryx.com","@.*\.", "@extendthereach.") renvoie « Change all domain names from alteryx@extendthereach.com ».

REGEX_Replace("25 test","(\d+)\s.*","$1") renvoie 25.

Replace

Replace(String, Target, Replacement)  : retourne la chaîne (String) après avoir remplacé chaque occurrence de la chaîne (Target) par la chaîne (Replacement).

Exemple

Replace("Good judgment comes from experience", "experience", "awareness") renvoie « Good judgment comes from awareness ».

ReplaceChar

ReplaceChar(String, y, z) : renvoie la chaîne (String) après le remplacement de chaque occurrence du caractère (y) par le caractère (z). Si le caractère de remplacement (z) est une chaîne comportant plusieurs caractères, seul le premier caractère est utilisé. Si (z) est vide, chaque caractère (String) qui correspond à n’importe quel caractère dans (y) est simplement supprimé.

Exemple

ReplaceChar("abcdefb", "b", "_") renvoie « a_cdef_ ».

ReplaceChar("@a#b%c", "@,#,%", "_") renvoie « _a_b_c ».

ReplaceFirst

ReplaceFirst(String, Target, Replacement) : renvoie la chaîne (String) après le remplacement de la première occurrence de la chaîne (Target) par la chaîne de remplacement (Replacement).

Exemple

ReplaceFirst("abcdefb", "b", "_") renvoie « a_cdefb ».

ReverseString

ReverseString(String) : inverse tous les caractères de la chaîne.

Exemple

ReverseString("abcdefb") renvoie « bfedcba ».

Right

Right(String, Len)  : retourne les derniers caractères (Len) de la chaîne. Si len est inférieur à 0 ou supérieur à la longueur de String, la chaîne reste inchangée.

Exemple

Right("92688", 3) renvoie la valeur « 688 ».

StartsWith

StartsWith(String, Target, CaseInsensitive=1) : vérifie si une chaîne commence par une chaîne particulière. Renvoie la valeur vraie si la chaîne commence par une chaîne cible (Target) spécifique, sinon renvoie la valeur fausse.

Exemple

StartsWith('ABC123', 'ABC') renvoie True (Vrai).

StartsWith('ABC123', 'abc') renvoie True (Vrai).

StartsWith('ABC123', 'abc', 0) renvoie False (Faux).

STRCSPN

STRCSPN(String, y) : renvoie la longueur du segment initial de la chaîne (String) composé de caractères qui ne sont pas dans la chaîne (y).

Exemple

STRCSPN("Bob's Amaco", "~!@#$%^&*'()") renvoie 3. Cette fonction est utile pour contrôler l’absence de ponctuation dans la chaîne.

StripQuotes

StripQuotes(String) : supprime les jeux de guillemets ou apostrophes des extrémités de la chaîne.

Exemple

StripQuotes("Hello there") renvoie Hello there.

StripQuotes("'Hello there,' she said.") renvoie 'Hello there,' she said.

StripQuotes('"Hello there," she said.') renvoie "Hello there," she said.

STRSPN

STRSPN(String, y) : renvoie la longueur du segment initial de la chaîne (String) composé de caractères de la chaîne (y).

Exemple

STRSPN("3034408896x105", "0123456789") renvoie 10. Ceci est un test utile pour s’assurer qu’une chaîne est formée par un ensemble de caractères.

Substring

Substring(String, start, length)  : retourne la sous-chaîne de la chaîne (String), en commençant par (start) et en s’arrêtant après la longueur indiquée par (lenght), si elle est fournie.

Exemple

Substring("949-222-4356", 4, 8) renvoie « 222-4356 ».

Substring("949-222-4356", 4, 6) renvoie « 222-43 ».

Substring("949-222-4356", 4) renvoie « 222-4356 ».

TitleCase

TitleCase(String) : convertit la chaîne en majuscules.

Exemple

TitleCase("john smith") renvoie "John Smith".

Trim

Trim(String, y)  : supprime le(s) caractère(s) de la chaîne (y) du début et de la fin de la chaîne (String). Y est optionnel, et par défaut, cette fonction supprime les espaces vides. Notez dans les exemples de la fonction TRIM que les caractères spécifiés sont supprimés. L’ordre des caractères n’a pas d’importance.

Exemple

Trim("!see instructions!!!", "!") renvoie "see instructions".

Trim(" Test123 ") renvoie "Test123".

TrimLeft

TrimLeft(String, y) : supprime les caractères de la chaîne (y) du début de la chaîne (String). Y est optionnel, et par défaut, cette fonction supprime les espaces vides.

Exemple

TrimLeft("** special invitation ", " *") renvoie "special invitation ".

TrimRight

TrimRight(String, y) : supprime les caractères de la chaîne (y) de la fin de la chaîne (String). Y est optionnel, et par défaut, cette fonction supprime les espaces vides.

Même si vous indiquez une chaîne de caractères à supprimer, la fonction TRIM ne respecte pas l’ordre des caractères et traite la chaîne plutôt comme une liste. Elle coupe donc TOUS les caractères spécifiés de la liste. Si vous cherchez à remplacer une chaîne, utilisez une fonction REPLACE ou REGEX dans votre expression.

Exemple

TrimRight("John Smith ") renvoie "John Smith".

TrimRight("John Smith**","*") renvoie "John Smith".

Uppercase

Uppercase(String)  :convertit la chaîne (String) en lettres majuscules

Exemple

Uppercase("John Smith") renvoie "JOHN SMITH".

Uuid

UuidCreate() : crée un identifiant unique.

Exemple

UuidCreate() renvoie une valeur unique telle que ba131836-1ba3-4d42-8f7e-b81a99c2e838.

À propos de la longueur des chaînes (Strings)

En faisant référence à la longueur length d'une chaîne (String), le premier caractère est compté pour 1 (la longueur de la chaîne « enregistrement » est 14).

Cependant, lors du référencement de la position des caractères dans une chaîne, les positions sont comptées entre les caractères. La position du premier caractère est alors considérée comme 0. Par conséquent, la lettre « r » dans la chaîne enregistrement est à la position 2.