Question sur la formule "mot", objectif de diviser un caractère et d'obtenir un mot raccourciJ'ai une table avec une colonne, le nom est "Batch ID", je souhaite utiliser un script pour générer une colonne, le nom est "Short ID", la formule utilise Word (2, :Batch ID, "L22DD1"), je veux seulement pour obtenir le 2ème mot, par exemple, E3 L22DD1 K27--->K27, mais comment se fait-il qu'après l'exécution de JSL, son résultat soit K2 et non K27 ? veuillez m'aider à suggérer s'il existe d'autres solutions si cela ne fonctionne pas ?
| ID de lot | ID court |
| M3L22DD1K2 | K2 |
| E3L22DD1K45 | K45 |
| M3L22DD1K41 | K4 |
| E3L22DD1K27 | K27 |
| M3L22DD1K3 | K3 |
| M3L22DD1K42 | K42 |
| M3L22DD1K43 | K43 |
| M3L22DD1K44 | K44 |
| M3L22DD1K45 | K45 |
| M3L22DD1K4 | K4 |
| M3L22DD1K5 | K5 |
| M3L22DD1K6 | K6 |
| E3L22DD1K46 | K46 |
| E3L22DD1K47 | K47 |
| E3L22DD1K48 | K48 |
| E3L22DD1K49 | K49 |
| E3L22DD1K50 | K50 |
| E3L22DD1K51 | K51 |
| E3L22DD1K52 | K52 |
Automatisation et scriptsRe : Question sur la formule "mot", objectif de diviser un caractère et d'obtenir un mot raccourciSi vous savez ce qu'est la chaîne de rupture, c'est à dire L22DD1, alors les 2 parties peuvent être identifiées et séparées avec les 2 instructions d'affectation suivantes
Pour l'ID court
Substr( :Batch ID, Contains( :Batch ID, "L22DD1" ) + 6 )
Pour la première partie de l'ID du lot
Substr( :Batch ID, 1, Contains( :Batch ID, "L22DD1" ) + 5 )
Re : Question sur la formule "mot", objectif de diviser un caractère et d'obtenir un mot raccourciJe suis tellement reconnaissant pour l'aide, cela fonctionne bien maintenant et je comprends également mieux la fonction du "mot".
Re : Question sur la formule "mot", objectif de diviser un caractère et d'obtenir un mot raccourciSalut,
Le problème avec l'utilisation d'une chaîne comme délimiteur est que la fonction Word() ne la comprend pas comme une chaîne unique mais comme une collection de délimiteurs individuels. Par conséquent, dans votre exemple où M3L22DD1K41 donne K4, le chiffre "1" de votre délimiteur se trouve dans la chaîne "L22DD1".
Une façon de résoudre ce problème consiste à utiliser la fonction Substitute dans la fonction Word comme suit :
Mot (2, substitut (:BATCH_ID, "L22DD1", "-"),"-")
De cette façon, chaque occurrence de "L22DD1" est remplacée dans la formule par "-" puis le mot souhaité est extrait en fonction du délimiteur "-"
J'espère que cela aide.
Meilleur
TSRe : Question sur la formule "mot", objectif de diviser un caractère et d'obtenir un mot raccourcimerci monsieur, cela fonctionne bien si le nom suit la même règle.
mais si le contenu d'une ligne est modifié de manière inattendue, par exemple "M3 L22DD1 X10_I35_O55", ce que je veux, c'est le nom court "X10_I35_O55", j'ai une meilleure solution.
alors continuez à utiliser " L22DD1" séparé le mot en deux parties et obtenez la dernière.M3 L22DD1 X10_I35_O55 -->X10_I35_O55 ?
Re : Question sur la formule "mot", objectif de diviser un caractère et d'obtenir un mot raccourciVoici la formule que j'utiliserais pour créer la colonne Short ID
New Column( "Short ID", character, formula( "K" || Word( -1, :Batch ID, "K" ) ) );