Boutons intelligents
Contrôles/éléments XML
Opération de chaîne <StringOperation>
StringOperation effectue plusieurs opérations sur du texte, telles que :
-
Coupe
-
Remplacement d’une partie du texte par un texte différent
-
Trouver un index d’éléments spécifiques dans le texte
-
Changer le texte en majuscules ou en minuscules
-
Trouver du texte spécifique à l’intérieur d’un texte avec regex.
Configuration
Pour configurer à l’aide de l’éditeur d’opération de chaîne :
-
Ouvrez l’éditeur de boutons intelligents pour créer un script.
-
Cliquez sur StringOperation <StringOperation> pour afficher l’éditeur StringOperation.
-
Configurez les attributs.
Attribut
Description
Source de chaîne Entrez l’une des options suivantes :
Le texte statique que vous souhaitez modifier.
Une variable de votre script entre crochets. Par exemple : [Adresses e-mail]
Nom de la variable Entrez le nom de la variable qui contiendra le nouveau texte modifié (chaîne). Par exemple : UpdatedEmailAddress Type d’opération Cliquez sur la flèche Type d’opération pour sélectionner l’opération à effectuer sur le texte.
-
PersonnageBoîtier
Remplace le texte en minuscules ou en majuscules.
Plus d’informations
Texte original (adresses e-mail du Dossier de Réservation) :
Nouveau texte (adresses e-mail en minuscules)
-
StringLength
Compte le nombre de caractères dans la chaîne. Compte tous les caractères, y compris les espaces.
-
Couper
Permet de couper (couper) du texte/des caractères spécifiques à partir du début de la chaîne, de la fin ou des deux
Plus d’informations
La chaîne d’origine (texte) est : DI-FT-cost center 84739
Le nouveau texte après découpage : - centre de coûts 84739
-
Remplacer
Remplace une partie de la chaîne par un texte alternatif.
Plus d’informations
Liste de courriels originale avec @ (au signe).
Nouvelle liste d’e-mails où @ est remplacé par //
-
Sous-chaîne
Supprime une partie du texte et l’utilise comme nouveau texte (sous-chaîne).
-
IndexOf
Recherche la position (Index) d’un caractère spécifique dans le texte. Si le(s) caractère(s) spécifié(s) n’est pas trouvé(s), « -1 » est renvoyé.
-
Regex
Utilise des expressions régulières pour lire uniquement une partie spécifique du texte.
Plus d’informations
Texte original (liste d’adresses e-mail)
Nouveau texte, où seul le domaine des adresses e-mail a été renvoyé grâce à regex
-
Exemples
Exemple 1
Pour utiliser le script suivant, assurez-vous de :
-
Remplacez le numéro de réservation de la ligne 2 par un vrai numéro de réservation.
-
Vérifiez que le Fichier de réservation contient au moins une adresse e-mail.
<ButtonConf ButtonName="Emails - String Operations - all" Description="" QuickCommand="">
<RunCommand>*VT58TD</RunCommand>
<Variable VarName="Emails">%EmailsList%</Variable>
<!--******************-->
<!-- Show the original string (text)-->
<!--******************-->
<ShowMessage>[Emails]</ShowMessage>
<!--******************-->
<!--Change the original text to Lower Case text -->
<!--******************-->
<StringOperation Type="CharacterCasing" VarName="LowerCaseText" Source="[Emails]">
<Arguments>
<Argument Name="Type">ToLowerCase</Argument>
</Arguments>
</StringOperation>
<ShowMessage>[LowerCaseText]</ShowMessage>
<!--******************-->
<!--Show the lenght of my text-->
<!--******************-->
<StringOperation Type="StringLength" VarName="Lenght" Source="[Emails]"></StringOperation>
<ShowMessage>Lenght of the string: [Lenght]</ShowMessage>
<!--******************-->
<!-- Show email addresses where @ is replaced with //-->
<!--******************-->
<StringOperation Type="Replace" VarName="EmailsWithSlashes" Source="[Emails]">
<Arguments>
<Argument Name="ReplaceFrom"><![CDATA[@]]></Argument>
<Argument Name="ReplaceTo"><![CDATA[//]]></Argument>
</Arguments>
</StringOperation>
<ShowMessage>[EmailsWithSlashes]</ShowMessage>
<!--******************-->
<!--Change text to new one, start to read text on 2nd charachter and read 10 charachters-->
<!--******************-->
<StringOperation Type="Substring" VarName="EmailsSubstring" Source="[Emails]">
<Arguments>
<Argument Name="StartFrom">2</Argument>
<Argument Name="Length">10</Argument>
</Arguments>
</StringOperation>
<ShowMessage>Substring, start from 2 and read 10 charachters: [EmailsSubstring]</ShowMessage>
<!--******************-->
<!--Show Index of "@"-->
<!--******************-->
<StringOperation Type="IndexOf" VarName="EmailsIndexOf@" Source="[Emails]">
<Arguments>
<Argument Name="Type">First</Argument>
<Argument Name="SearchString"><![CDATA[@]]></Argument>
</Arguments>
</StringOperation>
<ShowMessage>Index of first "@" : [EmailsIndexOf@]</ShowMessage>
<!--******************-->
<!--Cut only domain of my email addresse with regex-->
<!--******************-->
<StringOperation Type="Regex" VarName="EmailRegexDomain" Source="[Emails]">
<Arguments>
<Argument Name="Pattern"><![CDATA[(?:@)(\w{1,}\.\w{2,})]]></Argument>
<Argument Name="IgnoreCase">True</Argument>
<Argument Name="SingleLineMethod">False</Argument>
<Argument Name="SingleMatch">False</Argument>
<Argument Name="MatchGroups">GroupNumber</Argument>
<Argument Name="GroupNumberValue">1</Argument>
</Arguments>
</StringOperation>
<ShowMessage>[EmailRegexDomain]</ShowMessage>
</ButtonConf>
Exemple 2
Le script suivant vérifie si le texte saisi dans une zone de texte inclut le mot « ABC ».
Tout d’abord, nous vérifions l’index du mot « ABC » avec StringOperation, puis avec ConditionalAction, nous vérifions si l’index est supérieur à -1 (-1 signifie qu’il n’y a pas de texte de « ABC » trouvé dans la chaîne principale)
<ButtonConf ButtonName="INDEXoF -1" Description="This script allows to check if entered text include word ABC" QuickCommand="OK">
<TextBox VarName="Text" Question="Enter text that you want to check" Width="80"></TextBox>
<StringOperation Type="IndexOf" VarName="NewText" Source="[Text]">
<Arguments>
<Argument Name="Type">First</Argument>
<Argument Name="SearchString"><![CDATA[ABC]]></Argument>
</Arguments>
</StringOperation>
<ConditionalAction Condition="[NewText]>-1">
<True>
<ShowMessage>YES,text that you entered include word "ABC"</ShowMessage>
</True>
<False>
<ShowMessage>NO,text that you entered does not include word "ABC"</ShowMessage>
</False>
</ConditionalAction>
</ButtonConf>