Conversione da testo a numero indipendente dalla lingua di una forma "Colonna NN" -> "NN"Uno dei miei utenti si è lamentato del fatto che il mio componente aggiuntivo non funzionava. Stava tagliando tutti i dati per una delle variabili inferiori a 100.
Durante la risoluzione dei problemi ho scoperto che è dovuto al modo in cui converto la "Colonna NN" nel solo numero "NN". Il file CSV di origine non ha nomi di colonna, quindi quando lo importi, JMP assegna nomi predefiniti. Il mio utente ha la lingua impostata sul giapponese, quindi importa i file CSV denominando le colonne come "列 NN" che rompe la mia formula per i numeri inferiori a 100 (stavo solo prendendo i tre simboli giusti, quindi i numeri inferiori a 100 uscivano ancora come numeri) .
Posso risolvere facilmente il problema in questo caso, ma diciamo che voglio renderlo indipendente al 100% dalla lingua e non conosco tutti i formati locali in cui potrebbe importare il file CSV senza intestazione: come dovrei convertire qualcosa di simile " CCCNNCCC "a" NN "- dove" CCC "- numero arbitrario di caratteri e numero arbitrario" NN "di numeri? Qualche magia RegExp?
Tabella datiScriptingOggetto: conversione da testo a numero indipendente dalla lingua di una forma "Colonna NN" -> "NN"Ecco una semplice funzione che farà il trucco
getNumber = Function( {input},
{defaultlocal},
numStart = Length( Word( 2, z, "0123456789" ) );
number = "";
While( Is Missing( Num( Substr( z, numStart, 1 ) ) ) == 0,
number = number || Substr( z, numStart, 1 );
numStart++;
);
number = Num( number );
);
value = getNumber( "wd*()578pqxkkl" );
Show( value );