Extraire un nombre d'un champ de texteJ'ai une colonne contenant des notes de texte entrées par des techniciens. Ils entrent les heures d'utilisation du système, que je dois extraire dans sa propre colonne. Heureusement, les données sont assez cohérentes, et j'ai donc pu extraire les informations en utilisant Regex Match (), mais la sélection de la dernière valeur me fait trébucher.
Regex Match( :diagnosis, "(ys.+sage: ?)(\d{1,5})\n" );Comment extraire efficacement les heures d'utilisation du système du bloc de texte?
Un exemple de texte ressemble à ceci:
UDI # 123456789123456789123456789456123
Appareil reçu, couvercle manquant.
Raison principale du service: xxxxxxxxxx
Utilisation du système: 2372
PM système prévu pour: 7627
utilisation xxx: 120
utilisation yyy: 208
AnalytiqueTableau de donnéesRe: Extraire un nombre d'un champ de texteSi les données sont suffisamment cohérentes, vous pouvez le faire sans regex en utilisant Substr avec Contains (et Length)
Names Default To Here(1);
text ="UDI# 123456789123456789123456789456123
Device received, missing cover.
Major Reason For Service: xxxxxxxxxx
System usage: 2372
System PM due in: 7627
xxx usage: 120
yyy usage: 208";
stringToSearch = "System usage: ";
sysUsage = num(Substr(text, Contains(text, stringToSearch) + length(stringToSearch), 4));
show(sysUsage);
Re: Extraire un nombre d'un champ de texteVoici une solution qui utilise les fonctions JSL pour extraire l'utilisation du système
Num( Word( 1, Substr( :Diagnosis, Contains( :Diagnosis, "System usage:" ) + 14 ), "\!n" ) )

J'ai joint le tableau de données ci-dessus