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.
Example
FindString([Name], "John")
returns the 0-indexed position of the first character of the target string if the provided string contains the target and returns -1 when the string does not.
FindString("John Smith", "John")
returns 0. The first character of the target string ("J") is in the 0 position or "John Smith."FindString("Michael John Smith", "John")
returns 8. The first character of the target string ("J") is in the 8 position (0-based index) of "Michael John Smith."FindString("David Smith", "John")
returns -1. The first character of the target string ("J") is not found in string "David Smith."
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.