<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut tout le monde,
J'ai une chaîne contenant des chiffres, des lettres et des symboles. Je voudrais extraire uniquement des chiffres.
Par exemple "48mg/l" devient 48, "24" reste 24, etc.
Il faut le faire en JSL.
Merci!
Cela pourrait être plus simple si vous savez que les nombres sont des entiers non signés et qu'il n'y a qu'un seul nombre dans la chaîne.Cet exemple suppose qu'il n'y a pas de notation scientifique, mais il peut y avoir des virgules entre les nombres.Il suppose également qu'il n'y a pas de nombres dans une unité, comme sec^2. la fonction regex est utilisée pour supprimer tous les caractères qui ne sont pas (le ^ est "pas") dans l'ensemble 0-9, moins, point et virgule.la barre oblique inverse avant le moins est un échappement pour ne pas faire partie d'une plage.Le "" est la valeur de remplacement pour chaque caractère qui n'est pas dans le jeu (en les supprimant).La fonction word transforme le résultat en une liste de chaînes en utilisant la virgule comme délimiteur.
teststring = "poids=-4.8gm, vitesse=13m/h" ;
mots(regex(chaîne de test, "[^0-9\-.,]","",GLOBALREPLACE),",");
{"-4.8", "13"}
pour le cas simple (avec beaucoup de problèmes potentiels) où \D signifie "pas un chiffre" et la fonction num() transforme la chaîne en nombre,
chaîne de test = "48gm" ;
num(regex(chaîne de test, "\D","",GLOBALREPLACE));
48