正则表达式将文本转换为数字我在一列(本例中为设备)中列出了一个包含字符串的属性。字符串中的某个位置是对数值的引用,我需要提取该数值并将其转换为实际数字。
下面的公式有效,但似乎可以用一种更简单的方法来实现。
Regex( Substr( :Device, 6 ), "K", "000", GLOBALREPLACE )
在这种情况下,任何 1K 实例都被 1000 替换。
再见
扳手头
自动化和脚本回复:正则表达式将文本转换为数字
这可以用更简单的方法完成
您认为什么会这么简单?
回复:正则表达式将文本转换为数字雅尔莫
Num( Regex( :Device, "(\d+)K", "\1" ) ) * 1000
这?
再见
扳手头
回复:正则表达式将文本转换为数字那么...用那个...?这些对于您的数据和应用程序来说非常具体(例如,通常“k”是千而不是“K”)
如果您必须将以字符串形式写出的数字修复为数字,我想说对此没有一个简单的解决方案(很好的例子可能是 excel,它只是假设某些事情并以不可逆转的方式彻底破坏您的数据)。
回复:正则表达式将文本转换为数字这是一个使用 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>回复:正则表达式将文本转换为数字雅尔莫
所有这些方法都有效,您说得对,我的问题非常具体,有时人们也会遇到这种情况。如果我的数据中有多个字母 K(在我的标准数据输出中默认为大写),我引用的解决方案就会出现问题。
无论如何,谢谢
再见
扳手头