Estrarre i numeri dalla stringaCIAO,
Voglio estrarre tutti i numeri contenuti in [] e archiviarli nell'elenco. C'è un modo per raggiungere questo obiettivo con jsl?
Vorrei estrarre i numeri dalla colonna e memorizzarli nell'elenco che dovrebbe assomigliare a questo:
bidoni = {"52","79","39 41 43", "38 40 42", "1"};
Qualsiasi consiglio sarebbe molto utile.

Grazie
Automazione e scriptingConsumatori e ricerche di mercatoRe: Estrarre i numeri dalla stringaEcco un altro approccio. C'è un sacco di capacità per l'elaborazione di stringhe, elenchi e colonne di dati in JMP!
Names Default to Here( 1 );'
// create sample
dt = New Table( "Sample",
New Column( "Values", "Character", "Nominal",
Values( { "", "", "[52]", "[79]", "[39 41 43]", "[38 40 42]", "", "", "", "[1]" } )
)
);
// use sample
val = :Values << Get Values;
// find
bins = List();
For( i = 1, i <= N Items( val ), i++,
If( val[i] != "",
Insert Into( bins,
Substitute( val[i],
"[", "",
"]", ""
);
);
);
);
Show( bins );Re: Estrarre i numeri dalla stringaGrazie Jim 
Re: Estrarre i numeri dalla stringaCi sono un paio di modi diversi per farlo.
È possibile ottenere i valori per la colonna Valori in un elenco utilizzando il Messaggio < alla colonna.
Dovrai eliminare i valori mancanti da quell'elenco. È facile farlo individuando le righe mancanti nella tabella dei dati con Ottieni righe Where() . Poi il Rimuovere da() la funzione rimuoverà quegli elementi dall'elenco.
Quindi utilizzare For Each() e la funzione Word() per eliminare le parentesi quadre (ad esempio, "[]").
dt = Data Table( "Sample.jmp" );
//locate the missing values
missings = dt << get rows where( Is Missing( :values ) );
//get a list of the Values column
lst = :Values << get values;
//Remove the missings from the list
Remove From( lst, As List( missings ) );
//strip the square brackets
For Each( {item, i}, lst, lst[i] = Word( 1, item, "[]" ) );
Puoi anche fare tutto questo nella tabella dati aggiungendo una nuova colonna formula con la funzione Word() per rimuovere le parentesi quadre e quindi ottenere i valori dalla nuova colonna.
dt=Data Table("Sample.jmp");
new_col = dt << New Column( "New Values", Character,
formula( Word( 1, :Values, "[]" ) )
);
lst = (new_col << get values)[dt <<
get rows where( !Is Missing( :New Values ) )];
La funzione Word() è la mia preferita: Se impari solo una funzione dell'editor di formule, Word () è quella
Re: Estrarre i numeri dalla stringaEcco un semplice esempio che legge nella tabella dei dati di esempio e produce un elenco con i valori
x = {"52", "79", "39", "41", "43", "38", "40", "42", "1"};
Names Default To Here( 1 );
dt = current data table();
x = {};
For Each Row(
If( :values != "",
y = Eval( Parse( :values ) );
For Each( {value}, y, Insert Into( x, Char( value ) ) );
)
);
Show( x );