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 datiScriptingRe: Mostra la posizione di una lettera come numeroGrazie mille, entrambe le soluzioni hanno funzionato bene.
Re: Mostra la posizione di una lettera come numeroCiao,
Come @jthi ha risposto, puoi copiare e incollare lo script sopra nell'editor di formule.L'ho incluso come colonna formula nella tabella sottostante (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 )
)
)Re: Mostra la posizione di una lettera come numeroDovresti essere in grado di creare una nuova colonna e copiare e incollare @HadleyMyers soluzione direttamente all'editor di formule (con la correzione Contains Item() se necessario):

Modifica: questo prevede che la colonna sia denominata "testo"
Re: Mostra la posizione di una lettera come numeroGrazie per questa soluzione. Non ho ancora lavorato con gli script JMP. C'è un modo semplice per aggiungere questo allo script della mia tabella? O creare la stessa espressione nell'editor di formule?
Re: Mostra la posizione di una lettera come numeroPer me Concat Items() sembra aggiungere spazio aggiuntivo quando non viene fornito alcun secondo argomento, quindi potresti dover utilizzare Concat Items( X_pos , "")Re: 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 );