IBM FileNet P8, Version 5.2.1            

Fonctions de chaîne

Cette section contient de brèves descriptions des fonctions qui s'appliquent aux valeurs de chaîne.

Tableau 1. Tableau des fonctions et de leur description
Fonction Action
convert Convertit une chaîne dans un autre type de données ou convertit un autre type de données en une chaîne.
decode Reconvertit une expression de chaîne codée en son expression de chaîne d'origine.
encode Convertit une expression de chaîne en une chaîne texte sans signification.
hex Convertit un littéral chaîne contenant des codes de caractère hexadécimal en une chaîne ASCII.
in_set Renvoie la valeur booléenne true si une chaîne est entièrement composée de caractères d'une autre chaîne.
is_number Renvoie la valeur booléenne true si le résultat d'une expression de chaîne est une valeur de type entier ou flottant.
is_time Renvoie la valeur booléenne true si le résultat d'une expression de chaîne est une valeur temporelle valide.
len Renvoie la longueur d'une chaîne.

lower

upper

Convertit les caractères d'une chaîne en minuscules ou en majuscules.

ltrim

rtrim

trim

Supprime les blancs ou des caractères spécifiés au début (ltrim), à la fin (rtrim) ou aux deux extrémités (trim) d'une chaîne.
max Renvoie la plus grande valeur d'une liste d'expressions de tout type de données pris en charge.
min Renvoie la plus petite valeur d'une liste d'expressions de tout type de données pris en charge.
numbertostring Convertit une expression de type nombre entier ou flottant en une expression de chaîne avec un masque spécifié.
repeat Crée une chaîne en répétant une autre chaîne un nombre de fois spécifié.
strins Insère une chaîne dans une autre chaîne à un emplacement spécifié.
strloc Renvoie la position de départ d'une sous-chaîne dans une chaîne. Si la sous-chaîne est introuvable, la fonction renvoie la valeur 0.
stringtotime Convertit une expression de chaîne en expression de temps avec un masque spécifié.
substitute Remplace une sous-chaîne par une autre sous-chaîne dans une chaîne.
substr Renvoie une sous-chaîne sur la base d'une position et d'une longueur indiquées.
timetostring Convertit une expression de temps en expression de chaîne avec un masque spécifié.
translate Remplace des caractères dans une chaîne.
xmlencode Convertit une zone XML en expression de chaîne.
xmldecode Convertit une expression de chaîne en chaîne XML.

hex

Cette fonction convertit un littéral chaîne contenant des codes de caractère hexadécimal en une chaîne ASCII. La fonction hex peut exprimer n'importe quel caractère mais elle s'utilise habituellement pour les caractères qui n'ont pas de représentation ASCII, par exemple les tabulations.

Dans la chaîne de résultat, un caractère est représenté par deux caractères hexadécimaux. Quand le nombre de caractères hexadécimaux contenus dans la littérale chaîne est impair, une erreur se produit. Utilisez la syntaxe suivante :
hex (hex_codes)
où hex_codes est un littéral chaîne contenant le code hexadécimal d'un caractère ou d'une série de caractères.
Dans l'exemple suivant, la fonction renvoie la chaîne abc car 61, 62 et 63 sont les codes hexadécimaux de ces caractères.
hex ("616263")

translate

Cette fonction crée une nouvelle chaîne en remplaçant des caractères dans une chaîne par d'autres caractères que vous indiquez. La fonction translate permet notamment de coder des caractères.

Utilisez la syntaxe suivante :
translate (source_string, search_string,
replace_string)
où :
Tableau 2. Paramètres et description de la fonction translate
Paramètre Description
source_string Chaîne contenant les caractères à remplacer.
search_string Chaîne de caractères à remplacer dans source_string. La longueur de cette chaîne doit être identique à celle de replace_string.
replace_string Chaîne contenant les caractères de remplacement. La longueur de cette chaîne doit être identique à celle de search_string.

L'opération de recherche et remplacement se fait caractère par caractère. Si la chaîne de recherche contient "abc" et la chaîne de remplacement contient "def", la fonction remplace "a" par "d", "b" par "e" et "c" par "f" dans la nouvelle chaîne.

Par exemple, avec les valeurs suivantes :
source_string contient "*123-#44-!999"
search_string contient "#*!-"
replace_string contient "XYZ&"
la fonction génère la chaîne suivante :
Y123&X44&Z999

Notez que le contenu de la chaîne source, de la chaîne de recherche et de la chaîne de remplacement ne change pas.

Conseil : Pour rechercher et remplacer l'intégralité d'une sous-chaîne au lieu de remplacer des caractères individuels, utilisez la fonction substitute.
Dans l'exemple suivant, la fonction translate convertit une chaîne depuis le format numérique européen vers le format numérique américain :
translate (str, ".,", ",.")

lower, upper

Ces fonctions convertissent tous les caractères contenus dans une chaîne en minuscules (lower-) ou en majuscules (upper-) respectivement. Utilisez la syntaxe suivante :
lower (string_exp)

upper (string_exp)
où string_exp est l'expression de chaîne à convertir.

in_set

Cette fonction compare deux chaînes et renvoie la valeur booléenne true si chaque caractère de la première chaîne apparaît aussi quelque part dans la deuxième chaîne. Si au moins un des caractères contenus dans la première chaîne n'apparaît pas dans la deuxième chaîne, la fonction renvoie la valeur false. Les caractères ne doivent pas nécessairement apparaître dans le même ordre dans les deux chaînes et la deuxième chaîne peut contenir des caractères supplémentaires.

Utilisez la syntaxe suivante :
in_set (subset_string, superset_string)
où :
Tableau 3. Paramètres et description de la fonction in_set
Paramètre Description
subset_string Expression de chaîne qui contient uniquement les caractères du sous-ensemble.
superset_string Expression de chaîne avec laquelle la chaîne subset_string est comparée.
Dans l'exemple suivant :
in_set (name, "abcdefghijklmnopqrstuvwxyz")
la fonction renvoie True si
name = "jim"
mais False si
name = "Fido"
ou
name = "a.b"

len

Cette fonction calcule la longueur réelle (pas la longueur déclarée) d'une expression de chaîne. Elle indique le nombre total de caractères contenus dans l'expression, en comptant les espaces. Utilisez la syntaxe suivante :
len (string_expr)
où string_expr est l'expression de chaîne dont la longueur est calculée.
Dans l'exemple suivant, la longueur indiquée est de 15 caractères. Notez que les parenthèses ne sont pas comptées comme des caractères.
len ("Hamilton Burger")

repeat

Cette fonction crée une chaîne en répétant une autre chaîne un nombre de fois spécifié. Utilisez la syntaxe suivante :
repeat (string_expr, repeat_num)
où :
Tableau 4. Paramètres et description de la fonction repeat
Paramètre Description
string_expr Expression de chaîne à répéter.
repeat_num Nombre de répétitions de la chaîne string_exp.
Dans l'exemple suivant, la fonction renvoie la chaîne abcdabcdabcdabcdabcd.
repeat ("abcd", 5)

strloc

Une sous-chaîne est une partie d'une chaîne source qui peut être inférieure ou égale à la longueur de la chaîne source. Par exemple, Good, Morn, od Morni, et Good Morni sont des sous-chaînes de la chaîne Good Morning.

Utilisez la fonction strloc pour rechercher à quel endroit une sous-chaîne donnée apparaît dans une chaîne source. Cette fonction renvoie la position du premier caractère de la sous-chaîne dans la chaîne source.

Si la sous-chaîne est localisée plusieurs fois dans la chaîne source, la fonction renvoie la position de départ de la première occurrence. Si la sous-chaîne est introuvable, ou qu'elle est plus longue que la chaîne source, la fonction renvoie la valeur 0.

Utilisez la syntaxe suivante :
strloc (source_string, sub_string)
où :
Tableau 5. Paramètres et description de la fonction strloc
Paramètre Description
source_string Chaîne dans laquelle la fonction doit rechercher la sous-chaîne.
sub_string Sous-chaîne à rechercher.
Dans cet exemple, la fonction renvoie la valeur 6 car la sous-chaîne commence à la position 6 de la chaîne source.
strloc ("Good Morning", "Morning")

substr

Cette fonction extrait une sous-chaîne d'une chaîne source, qui crée une nouvelle chaîne. Vous devez indiquer la chaîne source et l'emplacement du caractère où l'extraction doit commencer. De plus, vous pouvez aussi indiquer le nombre de caractères à extraire. A défaut, l'extraction s'arrête à la fin de la chaîne source.

Utilisez la syntaxe suivante :
substr (source_string, start_pos {, length})
où :
Tableau 6. Paramètres et description de la fonction substr
Paramètre Description
source_string Chaîne source.
start_pos Position du caractère à partir duquel l'extraction commence.
length Nombre de caractères à extraire (par exemple, la longueur de la chaîne extraite).
L'exemple suivant renvoie la chaîne Morning. Notez que les parenthèses ne sont pas comptées dans la chaîne.
substr ("Good Morning!", 6, 7)

Cette fonction peut également extraire les chaînes de longueur nulle (les chaînes sans caractères entre les parenthèses) à une position située au delà de la longueur d'une chaîne. Cette faculté est intéressante pour les algorithmes qui utilisent des chaînes de longueur nulle comme conditions auxiliaires. Vous pouvez extraire les caractères placés entre la position 1 et la position du dernier caractère de la chaîne +1. Dans ce cas, la position 1 et la longueur de la chaîne +1 forment des conditions auxiliaires.

Une erreur d'exécution se produit dans les cas suivants :

  • La position de départ est inférieure à 1 ou supérieure à la longueur de la chaîne source + 1.
  • La longueur spécifiée va générer une sous-chaîne d'une longueur supérieure à celle des caractères restants dans la chaîne source (start_pos + longueur > len (source_string) + 1).

strins

Cette fonction insère une chaîne dans une autre chaîne, ce qui crée une nouvelle chaîne. La valeur de la chaîne source et celle de la chaîne insérée ne changent pas. Utilisez la syntaxe suivante :
strins (source_string, insert_string, start_pos)
où :
Tableau 7. Paramètres et description de la fonction strins
Paramètre Description
source_string Chaîne à combiner avec la chaîne à insérer (insert_string) pour créer une nouvelle chaîne.
insert_string Chaîne à insérer dans la chaîne source (source_string) pour créer une nouvelle chaîne.
start_pos

Position dans la chaîne source où doit commencer l'insertion. Cette valeur est comprise entre 1 et la longueur de source_string + 1.

Une erreur d'exécution se produit si vous indiquez une valeur inférieure à 1 ou supérieure à source_string + 1.

Dans l'exemple suivant, supposons que
insert_str = "Mr. Jones,"
et que
source_str = "Good morning, what a lovely day."
strins (source_str, insert_str, 15)
Etant données les valeurs ci-dessus, la fonction renvoie la chaîne suivante :
Good morning, Mr. Jones, what a lovely day.

substitute

Cette fonction crée une nouvelle chaîne en remplaçant une sous-chaîne par une autre dans une chaîne source spécifiée. Utilisez la syntaxe suivante :
substitute (source_string, unwanted_string,
replacement_string)
où :
Tableau 8. Paramètres et description de la fonction substitute
Paramètre Description
source_string Chaîne qui contient la sous-chaîne unwanted_string.
unwanted_string Sous-chaîne de la chaîne source_string.
replacement_string Chaîne qui remplacera la sous-chaîne unwanted_string pour créer la nouvelle chaîne.
Dans l'exemple suivant, chaque occurrence de abc dans TestString est remplacée par wxyz. Le remplacement se fait de la gauche vers la droite.
substitute (TestString, "abc", "wxyz")
Si
TestString = "abcdabcd"
la fonction renvoie la chaîne suivante :
wxyzdwxyzd
Notez que le contenu de la chaîne source, de la chaîne unwanted_string et de la chaîne de remplacement ne change pas.
Conseil : Pour rechercher et remplacer des caractères individuels au lieu d'une sous-chaîne, utilisez la fonction translate.

ltrim, rtrim et trim

Ces fonctions créent une nouvelle chaîne en copiant une chaîne source existante et en supprimant les blancs ou des caractères spécifiés au début (ltrim), à la fin (rtrim) ou aux deux extrémités (trim) dans la nouvelle chaîne. Dans tous les cas, la chaîne source reste inchangée.

Utilisez la syntaxe suivante pour toutes ces fonctions :
ltrim (string_expr{, trim_char}opt)

rtrim (string_expr{, trim_char}opt)

trim (string_expr{, trim_char}opt)
où :
Tableau 9. Paramètres et description des fonctions trim, ltrim et rtrim
Paramètre Description
string_expr Expression de chaîne source à copier.
trim_char

Paramètre facultatif qui indique les caractères à supprimer dans la nouvelle chaîne. Si vous n'indiquez pas ce paramètre, les blancs sont supprimés.

Selon la fonction utilisée, la suppression débute au commencement, à la fin ou aux deux extrémités de la nouvelle chaîne et continue jusqu'à ce qu'un caractère non spécifié dans trim_char apparaisse (ou un caractère non vide).

Dans l'exemple suivant, la fonction supprime tous les blancs en tête de LastName. Dans l'exemple,
LastName = "Smith"
et la nouvelle chaîne renvoyée est
"Smith"
ltrim (LastName)
Dans l'exemple ci-dessous, la fonction supprime le caractère & à la fin de la chaîne appelée Status. Si
Status = "OpenXY&Z&&&&"
la nouvelle chaîne renvoyée est
"OpenXY&Z"
rtrim (Status, "&")
Dans l'exemple suivant, la fonction supprime tous les chiffres à la fin de AccountName.
rtrim (AccountName, "0123456789")

is_number

Cette fonction détermine si l'expression de chaîne indiquée génère une valeur entière ou flottante. La fonction is_number renvoie la valeur booléenne true si toute la chaîne (pas seulement une sous-chaîne) génère une valeur entière ou flottante. Elle renvoie false dans le cas contraire.

Utilisez la syntaxe suivante :
is_number (expr)
où expr est une expression de chaîne.
Dans les trois exemples qui suivent, la fonction renvoie respectivement true, false et false :
is_number ("123.4")

is_number ("no")

is_number ("abc63j")

is_time

Cette fonction détermine si l'expression de chaîne indiquée génère une valeur temporelle d'un format spécifié. La fonction is_time renvoie la valeur booléenne true si toute la chaîne (pas seulement une sous-chaîne) génère une valeur temporelle formatée comme indiqué. Elle renvoie false dans le cas contraire.

Utilisez la syntaxe suivante :
is_time (str_expr, date_time_mask)
où :
Tableau 10. Paramètres et description de la fonction is_time
Paramètre Description
str_expr Expression de chaîne.
date_time_mask Masque de date/heure qui spécifie le format que str_expr doit utiliser pour que la fonction is_time renvoie la valeur true.
Dans les exemples qui suivent, la fonction renvoie d'abord false puis true. Dans les deux exemples, la fonction convert convertit les expressions de chaîne dans le type de données d'heure pour que la fonction is_time puisse calculer un résultat.
is_time ("nov121995", "mm/dd/yyyy")

is_time ("11/12/1995", "mm/dd/yyyy")

timetostring

Cette fonction convertit une expression de temps en expression de chaîne avec un format spécifié. Utilisez la syntaxe suivante :
timetostring (time_expr, date_time_mask)
où :
Tableau 11. Paramètres et description de la fonction timetostring
Paramètre Description
time_expr Expression de type temporel.
date_time_mask Masque de date/heure qui détermine le format de la sortie de la fonction timetostring.
L'exemple suivant montre comment convertir une heure système en une chaîne. Le format de la chaîne est déterminé par le masque de date/heure indiqué.
timetostring (systemtime(), "mm/dd/yyyy hh:tt:ss am")
Dans l'exemple ci-dessus, si systemtime() est équivalent au 1er juillet 1985 à 12h45 et 6 secondes, la chaîne de résultat est :
7/1/1985 12:45:06 pm

Voir les informations sur la fonction systemtime().

stringtotime

Cette fonction convertit une chaîne en valeur temporelle avec un format spécifié. Utilisez la syntaxe suivante :
stringtotime (string_expr, date_time_mask)
où :
Tableau 12. Paramètres et description de la fonction stringtotime
Paramètre Description
string_expr Expression de type chaîne.
date_time_mask Masque de date/heure qui spécifie le format horaire à utiliser pour la conversion.
Dans l'exemple suivant, HostTime est une variable de chaîne.
stringtotime (HostTime, "mon. dd, yyyy hh:tt:ss am")
Si
HostTime = "Jul. 1, 1985 12:45:06 pm"
le résultat est la valeur temporelle équivalente au 1er juillet 1985 à 12h45 et 6 secondes.

encode, decode

Ces fonctions permettent de convertir des chaînes en chaînes sans signification afin de masquer leur contenu. Les deux fonctions, encode et decode, doivent appartenir au même flux de travaux.

Vous pouvez utiliser la fonction decode pour convertir une expression de chaîne contenant plusieurs chaînes codées.
encode (string_expr)

decode (string_expr)
où :
Tableau 13. Paramètres et description des fonctions decode et encode
Paramètre Description
string_expr Expression de type chaîne. La chaîne ne peut pas être un littéral.


Last updated: March 2016
bpfe012.htm

© Copyright IBM Corp. 2016.