Extraire le code de la pièce défectueuse à partir d'une chaîne non structuréeSalut,
Je souhaite extraire les codes de pièce d'échec de la chaîne non structurée ci-dessous à l'aide de Regex en JSL. Mais je n’ai pas réussi à l’obtenir car c’est compliqué.
Réparer T126 et PA21. réussite du nouveau test
changer L6C, rediriger FTNG4 pour retester
Test 1 échec pièce P12 ; M531, Z6A2. Test 2 échec pièce Z100, RT98 ; BTGH9. Retravailler toutes les pièces
pièces défectueuses remplacées (K3; LG69; AK4T). Passer au prochain test
pièce endommagée YT10 retravailler la pièce, passer au processus suivant
Le résultat requis dans la colonne "Code de pièce de panne" devrait ressembler à ceci

Tout conseil et aide seraient très appréciés.
Merci
Automatisation et scriptsRe : Extraire le code de la pièce défectueuse d'une chaîne non structuréeCapturer plusieurs éléments avec une seule expression régulière n'est pas si simple dans JMP car il n'y a pas de possibilité de correspondance globale (
Cette expression régulière assez simple capture les premiers codes pour vous
Names Default To Here(1);
dt = Open("$DOWNLOADS/data1.jmp");
failure_pattern = "[A-Z]+\d+[A-Z]?";
Eval(EvalExpr(
dt << New Column("A", Character, Nominal, << Formula(
Regex(:Repair Details, Expr(failure_pattern));
));
));
Et puis le désordre de la correspondance de modèles (peut probablement être amélioré)
Names Default To Here(1);
dt = Open("$DOWNLOADS/data1.jmp");
str = "failure parts replaced (K3; LG69; AK4T). Proceed to next test";
dt << New Column("A", Character, Nominal, << Formula(
failure_pattern = "([A-Z]+\d+[A-Z]?){1,}";
found_list = {};
Pat Match(:Repair Details,
Pat Any(", (") + Pat Regex(failure_pattern) >> match + Pat Any(" .;,)") + Pat Test(
Insert Into(found_list, match);
0
)
);
Concat Items(found_list, ", ");
)); Re : Extraire le code de la pièce défectueuse d'une chaîne non structuréeJ'ai récemment découvert une fonction/option JMP qui peut gérer cela assez facilement.Nouvelle colonne par correspondance de texte.
Essayez ce script ou utilisez l'utilitaire sous Cols->Utilities avec la colonne Détails de réparation sélectionnée.
New Column by Text Matching(
Column( :Repair Details ),
Set Regex( Custom( Title( "parts" ), Regex( "([A-Z]+\d+[A-Z]?)" ), Result( "\[\1]\" ), ) ),
Output Column Name( "Failure Part Code" )
);

Re : Extraire le code de la pièce défectueuse d'une chaîne non structuréeMerci Jarmo. C'est bien!
Re : Extraire le code de la pièce défectueuse d'une chaîne non structuréeMerci d'avoir partagé cette fonction " Nouvelle colonne par correspondance de texte ". Ça aide.