Comment extraire uniquement des valeurs numériques d'une chaîne de texte<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai une grande table de données qui a une colonne contenant du texte char.Un exemple de description textuelle est répertorié ci-dessous.
J'ai besoin de faire des statistiques descriptives sur la durée d'ouverture/fermeture du robot.
Je voudrais extraire la partie numérique de la chaîne de caractères et la placer dans une nouvelle colonne avec un type de données numérique.
Existe-t-il une fonction de formule que je pourrais utiliser pour faire cela sur une toute nouvelle colonne ?
Exemple de texte
: Mouvement de la vanne vers la position "FERMÉ" terminé. Temps pris pour le mouvement "1.530000" secondes
: Mouvement de la vanne vers la position "FERMÉ" terminé. Temps pris pour le mouvement "2.030000" secondes
: Mouvement de la vanne vers la position "FERMÉ" terminé. Temps pris pour le mouvement "2.010000" secondes
: Mouvement de la vanne vers la position "FERMÉ" terminé. Temps pris pour le mouvement "2,510000" secondes
: Mouvement de la vanne vers la position "FERMÉ" terminé. Temps pris pour le mouvement "2.215000" secondes
: Mouvement de la vanne vers la position "FERMÉ" terminé. Temps pris pour le mouvement "2.215000" secondes
: Mouvement de la vanne en position "OUVERTE" terminé. Temps pris pour le mouvement "3.160000" secondes
: Mouvement de la vanne en position "OUVERTE" terminé. Temps pris pour le mouvement "3.160000" secondes
: Mouvement de la vanne vers la position "FERMÉ" terminé. Temps pris pour le mouvement "1.815000" secondes
: Mouvement de la vanne vers la position "FERMÉ" terminé. Temps pris pour le mouvement "1.815000" secondes
: Mouvement de la vanne en position "OUVERTE" terminé. Temps pris pour le mouvement "3.140000" secondes
: Mouvement de la vanne en position "OUVERTE" terminé. Temps pris pour le mouvement "3.140000" secondes
: Mouvement de la vanne en position "OUVERTE" terminé. Temps pris pour le mouvement "2.955000" secondes
Re : Comment extraire uniquement les valeurs numériques d'une chaîne de texteSalut JayV.,
La fonction Word() prendra également un argument pour spécifier les délimiteurs, vous pouvez donc éviter la partie Substr() de votre formule et simplement utiliser :
Num( Mot( 11, :Texte, "\!" " ) )
Le \! est la chaîne d'échappement pour indiquer à l'analyseur que le " fait partie de la chaîne citée.
-Jeff
Re: Comment extraire uniquement des valeurs numériques d'une chaîne de texteMerci 
Re : Comment extraire uniquement des valeurs numériques d'une chaîne de texteCela dépend EXACTEMENT de ce que vous voulez. Est-ce que ce qui suit s'en rapproche ?
les données ont;
chaîne d'entrée & $100.;
cartes;
Mouvement de la vanne en position « FERMETURE » terminé. Temps de mouvement : « 1,530 000 s »
: Mouvement de la vanne en position « FERMÉ » terminé. Temps de mouvement : « 2,030 000 s »
: Mouvement de la vanne en position « FERMÉ » terminé. Temps de mouvement : « 2,010 000 s »
: Mouvement de la vanne en position « FERMÉ » terminé. Temps de mouvement : « 2,510 000 s »
: Mouvement de la vanne en position « FERMÉ » terminé. Temps de mouvement : « 2,215 000 s »
: Mouvement de la vanne en position « FERMÉ » terminé. Temps de mouvement : « 2,215 000 s »
: Déplacement de la vanne vers la position « OUVERTE » terminé. Temps de déplacement : « 3,160 000 s »
: Déplacement de la vanne vers la position « OUVERTE » terminé. Temps de déplacement : « 3,160 000 s »
: Mouvement de la vanne en position « FERMÉ » terminé. Temps de mouvement : « 1,815 000 s »
: Mouvement de la vanne en position « FERMÉ » terminé. Temps de mouvement : « 1,815 000 s »
: Déplacement de la vanne vers la position « OUVERTE » terminé. Temps de déplacement : « 3,140 000 s »
: Déplacement de la vanne vers la position « OUVERTE » terminé. Temps de déplacement : « 3,140 000 s »
: Déplacement de la vanne vers la position « OUVERTE » terminé. Temps de déplacement : « 2,955 000 s »
;
données souhaitées (drop=string les deux) ;
ensemble avoir;
les deux=compress(substr(chaîne,anydigit(chaîne)),'"');
num=input(substr(les deux,1,anyalpha(les deux)-1),12.);
unité=substr(les deux,anyalpha(les deux));
courir;