Regex convertit le texte en nombresJ'ai une propriété répertoriée dans une colonne (Device dans ce cas) qui contient une chaîne. Quelque part à l'intérieur de la chaîne se trouve une référence à une valeur numérique que je dois extraire et convertir en un nombre réel.
La formule ci-dessous fonctionne, mais il semble que cela pourrait être réalisé de manière beaucoup plus simple.
Regex( Substr( :Device, 6 ), "K", "000", GLOBALREPLACE )
Toute instance de 1K est remplacée par 1000 dans ce cas.
Au revoir
Tête de clé
Automatisation et scriptsRe: Regex convertit le texte en nombres
cela pourrait être fait d'une manière beaucoup plus simple
Qu'est-ce qui, selon vous, est beaucoup plus simple ?
Re: Regex convertit le texte en nombresJarmo
Num( Regex( :Device, "(\d+)K", "\1" ) ) * 1000
Ce?
Au revoir
Tête de clé
Re: Regex convertit le texte en nombresAlors... utiliser ça... ? Ceux-ci sont très spécifiques à vos données et à votre application (par exemple, généralement « k » serait kilo et non « K »)
Si vous devez convertir des nombres écrits sous forme de chaînes en nombres, je dirais qu'il n'y a jamais de solution simple et unique pour cela (un bon exemple pourrait être Excel, il suppose simplement quelque chose et ruine totalement vos données de manière irréversible).
Re: Regex convertit le texte en nombresVoici un exemple simple utilisant JSL
names default to here(1);
dt = New Table( "example",
Add Rows( 2 ),
New Column( "val", Character, "Nominal", Set Values( {"1K", "5K"} ) )
);
wait(5);
// Convert the values
for each row(
:val = Substitute(:val,"K","000")
);
wait(0);<BR /><BR />// Change column to numeric
dt:val << data type(numeric)<<MODELING type=""></MODELING>Re: Regex convertit le texte en nombresJarmo
Toutes ces choses fonctionnent et vous avez raison, mon problème est très spécifique, cela peut arriver à certaines personnes parfois. La solution à laquelle j'ai fait référence devient un obstacle s'il y a plus d'une lettre K (par défaut en majuscules dans ma sortie de données standard) dans mes données.
Merci quand même
Au revoir
Tête de clé