Mostra la posizione di una lettera come numeroCiao,
Vorrei che la posizione di una lettera in un testo fosse contata e mostrata come un numero. Ho solo X come lettere e voglio il numero in una colonna diversa. Anche gli spazi dovrebbero essere contati.
testo:
XX X X
produzione:
12 4 9
Come posso fare questo?
Grazie per la tua risposta
Tabella datiScriptingRi: Mostra la posizione di una lettera come numeroCiao,
L'utilizzo di questo script come colonna formula dovrebbe svolgere il lavoro:
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 );Ri: Mostra la posizione di una lettera come numeroPer me Concat Items () sembra aggiungere spazio aggiuntivo quando non viene fornito un secondo argomento, quindi potresti dover usare Concat Items (X_pos, "")Ri: Mostra la posizione di una lettera come numeroGrazie per questa soluzione. Non ho ancora lavorato con lo scripting JMP. C'è un modo semplice per aggiungerlo allo script della mia tabella? O costruire la stessa espressione nell'editor delle formule?
Ri: Mostra la posizione di una lettera come numeroDovresti essere in grado di creare una nuova colonna e copiare e incollare @ HadleyMyers soluzione direttamente nell'editor di formule (con la correzione Contains Item () se necessario):

Modifica: si aspetta che la colonna venga denominata "testo"
Ri: Mostra la posizione di una lettera come numeroCiao,
Come @jthi risposto, puoi copiare e incollare lo script sopra nell'editor di formule.L'ho incluso come colonna formula nella tabella seguente (copia questo script e incollalo in una finestra Nuovo script per ricreare la tabella) e ho salvato anche la tabella in questo post.
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 )
)
)