<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
Ho una stringa contenente numeri, lettere e simboli. Vorrei estrarre solo i numeri.
Ad esempio "48mg/l" diventa 48, "24" rimane 24, ecc.
Deve essere fatto in JSL.
Grazie!
Questo potrebbe essere più semplice se sai che i numeri sono interi senza segno e c'è un solo numero nella stringa.Questo esempio presuppone che non ci sia alcuna notazione scientifica ma potrebbero esserci virgole tra i numeri.Presuppone inoltre che non ci siano numeri in un'unità, come sec^2. la funzione regex viene utilizzata per rimuovere tutti i caratteri che non lo sono (il ^ è "non") nell'insieme 0-9, meno, punto e virgola.la barra rovesciata prima del segno meno è una via di fuga per non far parte di un intervallo.Il "" è il valore di sostituzione per ogni carattere non presente nel set (eliminandoli).La funzione words trasforma il risultato in un elenco di stringhe usando la virgola come delimitatore.
teststring = "peso=-4.8gm,velocità=13m/h";
parole(regex(teststring, "[^0-9\-.,]","",GLOBALREPLACE),",");
{"-4.8", "13"}
per il caso semplice (con molti potenziali problemi) in cui \D significa "non una cifra" e la funzione num() trasforma la stringa in un numero,
stringa di prova = "48gm";
num(regex(teststring, "\D","",GLOBALREPLACE));
48