Question sur la formule "mot", le but de diviser un caractère et d'obtenir un mot raccourciJ'ai une table avec une colonne, le nom est "Batch ID", je veux 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 deuxiè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 aider à suggérer si d'autres solutions si cela ne fonctionne pas?
| ID de lot | Identifiant 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 |
ScriptingRe: Question sur la formule "mot", but de diviser un caractère et d'obtenir un mot raccourci cléVoici la formule que j'utiliserais pour créer la colonne Short ID
New Column( "Short ID", character, formula( K" || Word( -1, :Batch ID, "K" ) ) );
Re: Question sur la formule "mot", but de diviser un caractère et d'obtenir un mot raccourci clémerci 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.
puis continuez à l'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", but de diviser un caractère et d'obtenir un mot raccourci cléSalut,
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" dans votre délimiteur se trouve dans la chaîne "L22DD1".
Une façon de résoudre ce problème consiste à utiliser la fonction Remplacer dans la fonction Word comme suit:
Mot (2, remplacer (: 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 ça aide.
Meilleur
TS