Come usare la funzione Words per estrarre solo elementi specifici dalla stringaSupponiamo di avere una stringa di caratteri con delimitatore comune nella forma bal1_bla2_blbla3_blabla4
Vorrei creare una nuova colonna che contenga solo "blbla3_blabla4", come posso applicare la funzione words a questo scopo?
Analisi e modellazione dei dati di baseRe: Come usare la funzione Words per estrarre solo elementi specifici dalla stringaCIAO,
Una soluzione nell'interfaccia utente potrebbe essere quella di utilizzare Recode per ottenere ciò che si desidera.
Fai clic con il pulsante destro del mouse sull'intestazione della colonna -> Ricodifica -> fai clic con il pulsante destro del mouse sul triangolo rosso sotto il nuovo valore -> Avanzate -> estrai segmento

Puoi trovare il codice JSL nel registro e utilizza la parola funzione:
/*:
// Recode column: Column 1 2
Local( {dt, col1},
dt = Data Table( "Test table" );
dt << Begin Data Update;
col1 = dt << New Column( dt:Column 1 );
col1 << Set Name( "Column 1 2" );
dt << Move Selected Columns( {col1}, after( dt:Column 1 ) );
For Each Row(
dt,
col1[] = Word(
[3 4],
dt:Column 1,
Get Whitespace Characters() ||
Get Punctuation Characters( Exclude Chars( "'-" ) ) || "_",
Unmatched( dt:Column 1 )
)
);
dt << End Data Update;
Spero che questo ti sia utile.
Giona
Re: Come usare la funzione Words per estrarre solo elementi specifici dalla stringaSe vuoi due ultimi elementi, puoi usare Word con indicizzazione negativa (o positiva se conosci le posizioni esatte dall'inizio della stringa)
Names Default To Here(1);
str = "bal1_bla2_blbla3_blabla4";
res = Word([-2 -1], str, "_");
Show(res); // res = "blbla3_blabla4";