Afficher la position d'une lettre sous forme de chiffreBonjour,
J'aimerais que la position d'une lettre dans un texte soit comptée et affichée sous forme de nombre. Je n'ai que X comme lettres et je veux le nombre dans une colonne différente. Les espaces doivent également être comptés.
texte:
XX X X
production:
12 4 9
Comment puis-je faire ceci?
Merci pour votre réponse
Tableau de donnéesScriptRe : Afficher la position d'une lettre sous forme de chiffreMerci beaucoup, les deux solutions ont bien fonctionné.
Re : Afficher la position d'une lettre sous forme de chiffreSalut,
Comme @jthi répondu, vous pouvez copier et coller le script ci-dessus dans l'éditeur de formule.Je l'ai inclus en tant que colonne de formule dans le tableau ci-dessous (copiez ce script et collez-le dans une fenêtre Nouveau script pour recréer le tableau), et j'ai également enregistré le tableau dans cet article.
New Table( "Show position of letter example table",
Add Rows( 1 ),
New Column( "text",
Character,
"Nominal",
Set Values( {"XX X X"} ),
Set Display Width( 87 )
),
New Column( "Output",
Character,
"Nominal",
Formula(
X_pos = {};
For( i = 1, i <= Length( :text ), i++,
If( Substr( :text, i, 1 ) == "X",
X_pos[i] = Char( i ),
X_pos[i] = " "
)
);
Concat Items( X_pos, "" );
),
Set Selected,
Set Display Width( 107 )
)
)Re : Afficher la position d'une lettre sous forme de chiffreVous devriez pouvoir créer une nouvelle colonne et copier et coller @HadleyMyers solution directement dans l'éditeur de formule (avec le correctif Contient l'élément () si nécessaire):

Edit : Cela s'attend à ce que la colonne soit nommée "texte"
Re : Afficher la position d'une lettre sous forme de chiffreMerci pour cette soluce. Je n'ai pas encore travaillé avec les scripts JMP. Existe-t-il un moyen simple d'ajouter ceci au script de ma table? Ou construire la même expression dans l'éditeur de formule ?
Re : Afficher la position d'une lettre sous forme de chiffrePour moi, Concat Items() semble ajouter de l'espace supplémentaire lorsqu'aucun deuxième argument n'est donné, vous devrez donc peut-être utiliser Concat Items( X_pos , "")Re : Afficher la position d'une lettre sous forme de chiffreSalut,
L'utilisation de ce script comme colonne de formules devrait faire l'affaire :
X_pos = {};
For( i = 1, i <= Length( :text ), i++,
If( Substr( :text, i, 1 ) == "X",
X_pos[i] = Char( i ),
X_pos[i] = " "
)
);
Concat Items( X_pos );