Rechercher des symboles (fonction)

Aide LabVIEW 2014

Date d'édition : June 2014

Numéro de référence : 371361L-0114

»Afficher les infos sur le produit
Télécharger l'aide (Windows uniquement)

Palette propriétaire : VIs et fonctions de chaînes supplémentaires

Requiert : Système de développement de base

Balaie la chaîne en entrée, en commençant à offset, pour rechercher des symboles et renvoie chaque segment comme chaîne du symbole.

Détails  

autoriser les symboles vides ? détermine si la fonction reconnaît ou non un symbole lorsqu'elle rencontre de multiples séparateurs adjacents. Si autoriser les symboles vides ? est FAUX (valeur par défaut), les séparateurs multiples adjacents peuvent séparer deux symboles dans chaîne en entrée. Si autoriser les symboles vides ? est VRAI, une chaîne du symbole vide est renvoyée entre chaque paire de séparateurs adjacents.
chaîne en entrée est la chaîne en entrée à scanner.
offset est le point de chaîne en entrée indiquant le début du balayage. La valeur par défaut vaut 0, correspondant au début de la chaîne.
opérateurs est un tableau de chaînes que la fonction identifie comme symboles lorsqu'elles apparaissent dans la chaîne en entrée et ce, même si elles ne sont pas entourées de séparateurs. Si une portion de chaîne en entrée correspond à plus d'un opérateur défini, la fonction sélectionne la plus longue correspondance comme symbole. Par exemple, si >, = et >= sont définis comme opérateurs, la chaîne en entrée 4>=0 produit >= comme chaîne de symbole suivante avec un offset de 1.

Une chaîne contenue dans opérateurs peut contenir les codes de format spéciaux suivants, qui peuvent être utilisés pour balayer des nombres en les considérant dans leur totalité comme des symboles uniques.
%dcorrespondance à un entier décimal
%ocorrespondance à un entier octal
%xcorrespondance à un entier hexadécimal
%bcorrespondance à un entier binaire
%e,%f,%gcorrespondance à un nombre à virgule flottante ou à un nombre réel scientifique
%%correspondance à un seul caractère %
Remarque  Si les chaînes + ou – sont définies comme opérateurs, la fonction ne reconnaît pas les signes + et – en tête, ou unaires. Cette fonction les renvoie toujours comme symboles distincts. Ceci constitue une exception à la règle de la "correspondance la plus longue".
séparateurs est un tableau de chaînes qui servent de séparateurs entre les symboles. Les chaînes contenues dans séparateurs ne sont pas renvoyées en tant que symboles, mais servent simplement à séparer les symboles adjacents. Les séparateurs par défaut sont les caractères espaces vierges : caractère de tabulation, retour à la ligne et retour chariot.
utiliser des données d'opér./sépar. de la mémoire cache ? est une entrée facultative avancée. Même si ce paramètre est non câblé, chaîne du symbole se comporte correctement. Cependant, vous pouvez utiliser le paramètre utiliser des données d'opér./sépar. de la mémoire cache ? pour améliorer considérablement les performances d'analyse de la chaîne. Définissez utiliser des données d'opér./sépar. de la mémoire cache ? à FAUX lors de la première exécution de la chaîne du symbole et à VRAI pour chacune des exécutions suivantes, à condition que les opérateurs et les séparateurs n'aient pas changé. Utilisez un registre à décalage avec une constante FAUX en entrée et une constante VRAI en sortie pour vous assurer du bon fonctionnement si les opérateurs et séparateurs ne changent pas au cours de l'exécution de la boucle. Si utiliser des données d'opér./sépar. de la mémoire cache ? est FAUX et que opérateurs ou séparateurs a changé depuis la dernière exécution, une sortie incorrecte peut en résulter. Si opérateurs et séparateurs sont non câblés ou sont câblés à des constantes du diagramme, vous pouvez laisser utiliser des données d'opér./sépar. de la mémoire cache ? non câblé et obtenir néanmoins des performances optimales.
chaîne en sortie renvoie la chaîne en entrée non modifiée.
offset après le symbole identifie le point de la chaîne en entrée immédiatement après le symbole qui a été trouvé en dernier lieu et tout séparateur de fin. Tout balayage ultérieur de la même chaîne en entrée doit commencer au niveau de cet offset. Si offset est inférieur à 0 ou supérieur au nombre de caractères dans la chaîne en entrée, ou si la fin de la chaîne a été atteinte, offset après le symbole est égal à –1.
chaîne du symbole est le symbole correspondant. Il peut s'agir d'une des chaînes situées dans opérateurs ou de n'importe quelle chaîne de texte dans chaîne en entrée qui apparaît entre séparateurs.
indice du symbole est l'indice de la chaîne du symbole dans opérateurs, si chaîne du symbole correspond à un des éléments d'opérateurs. Si chaîne du symbole est une quelconque autre chaîne, indice du symbole renvoie –1. Si la fonction atteint la fin de chaîne en entrée sans trouver d'opérateur valide, indice du symbole renvoie –2.

Détails sur Rechercher des symboles

Les symboles sont des segments de texte qui représentent en général des mots-clés individuels, des valeurs numériques ou des opérateurs trouvés en analysant un fichier de configuration ou un autre format de données textuelles. Vous pouvez spécifier les symboles avec les données que vous passez à la fonction par l'intermédiaire des entrées séparateurs et opérateurs. Par exemple, comme le caractère espace est un séparateur par défaut, chaque mot de Ceci est une chaîne est un symbole et vous pouvez analyser la phrase au niveau de chaque mot de cette chaîne.

Utilisez cette fonction dans une boucle While qui traite une section de chaîne à la fois jusqu'à ce que l'indice du symbole renvoie –2 (ce qui indique la fin de la chaîne). Vous pouvez transmettre offset après le symbole à offset par le biais d'un registre à décalage, de sorte que chaque balayage commence là où le précédent s'est arrêté.

Par défaut, cette fonction identifie et renvoie un symbole lorsqu'elle rencontre un espace, une tabulation, un retour chariot ou un retour à la ligne. Vous pouvez analyser une chaîne en utilisant un de ces séparateurs ou tout autre de votre choix, ou en définissant des opérateurs.

Par exemple, supposons que vous câbliez les valeurs suivantes à la fonction.

EntréeValeur
chaîne en entréeThis is a testLabVIEWstring
offset0 (valeur par défaut)
opérateurs[NI,qsdf,LabVIEW]
séparateurs\s,\t,\r,\n (valeur par défaut)

Si vous placez la fonction dans une boucle While comme décrit ci-dessus, la fonction renvoie les valeurs suivantes :

Première itération

chaîne en sortieThis is a testLabVIEWstring
offset après le symbole5
chaîne du symboleThis
indice du symbole–1 (pas un opérateur)

Deuxième itération

chaîne en sortieThis is a testLabVIEWstring
offset après le symbole8
chaîne du symboleis
indice du symbole–1 (pas un opérateur)

Troisième itération

chaîne en sortieThis is a testLabVIEWstring
offset après le symbole10
chaîne du symbolea
indice du symbole–1 (pas un opérateur)

Quatrième itération

chaîne en sortieThis is a testLabVIEWstring
offset après le symbole14
chaîne du symboletest
indice du symbole–1 (pas un opérateur)

Cinquième itération

chaîne en sortieThis is a testLabVIEWstring
offset après le symbole21
chaîne du symboleLabVIEW
indice du symbole2 (deuxième élément d'opérateurs)

Sixième itération

chaîne en sortieThis is a testLabVIEWstring
offset après le symbole–1 (plus aucun symbole présent)
chaîne du symbolestring
indice du symbole–1 (pas un opérateur)

Septième itération

chaîne en sortieThis is a testLabVIEWstring
offset après le symbole–1 (plus aucun symbole présent)
chaîne du symbole(fin de chaîne)
indice du symbole–2 (fin de chaîne)

CET ARTICLE VOUS A-T-IL ÉTÉ UTILE ?

Pas utile