正規表現でテキストを数字に変換する文字列を含む列 (この場合はデバイス) にプロパティがリストされています。文字列内のどこかに、抽出して実際の数値に変換する必要がある数値への参照があります。
以下の式は機能しますが、これはもっと簡単な方法で実行できるようです。
Regex( Substr( :Device, 6 ), "K", "000", GLOBALREPLACE )
この場合、1K のすべてのインスタンスは 1000 に置き換えられます。
さよなら
スパナヘッド
自動化とスクリプトRe: 正規表現でテキストを数字に変換する
これはもっと簡単な方法でできる
これほど単純なものは何だと思いますか?
Re: 正規表現でテキストを数字に変換するジャーモ
Num( Regex( :Device, "(\d+)K", "\1" ) ) * 1000
これ?
さよなら
スパナヘッド
Re: 正規表現でテキストを数字に変換するそれで...それを使ってください...?これらはデータとアプリケーションに非常に固有です(たとえば、通常「k」は「K」ではなくキロになります)
文字列として記述された数値を数値に修正する必要がある場合、そのための単一の簡単な解決策は決して存在しないと言えます (良い例は Excel です。Excel は何かを前提として、データを元に戻せない形で完全に台無しにします)。
Re: 正規表現でテキストを数字に変換する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: 正規表現でテキストを数字に変換するジャーモ
これらはすべて機能し、おっしゃるとおり、私の問題は非常に特殊で、他の人にも時々起こることがあります。私が参照した解決策は、データ内に K という文字が 1 つ以上ある場合 (標準データ出力ではデフォルトで大文字になります)、作業に支障をきたします。
とにかくありがとう
さよなら
スパナヘッド