带有小数和整数的正则表达式问题你好!
使用 JMP 16.2:我有一列包含整数和小数。 我想创建一个标记整数(或小数)的新列。
列名:值
列输入:
0
.5
3
3.768
10
等等
我使用列公式尝试了以下正则表达式的几个版本:
正则表达式(值,“\d+\,\d+”,“十进制”)
正则表达式(字符(值),“\d+\,\d+”,“十进制”)
我还在第二个输入中尝试了括号和方括号。
我也注意到,如果有一列只有小数而不是整数,则正则表达式有效......
任何人都有一个有用的技巧来让它工作吗?
谢谢!
数据表回复:小数和整数的正则表达式问题你好! 新列的格式是“数字”,源列(值)也是数字。 源列中没有字符。
“.1”是无效的,我的错,对于 <1 的数字,它们被标记为“0.1”。
我确实尝试了 contain,这给了我一个警告:Contains(:"Value"n,".")
错误:参数类型错误
(感谢正则表达式网站来测试我的想法!)
回复:小数和整数的正则表达式问题如果您的源和目标是数字列,那么您可以在目标数据列的公式中使用布尔表达式
(:Value - Round( :Value, 0 )) == 0
或者
Modulo( :Value, 1 ) == 0
所以你的表看起来像这样:

我使用 Value Labels 列属性来显示单词,而不仅仅是 0 或 1。
回复:带有小数和整数的正则表达式问题你有字符列或一些自定义格式吗? 您允许使用哪些格式的小数值? 例如“.1”是有效的小数吗? 除了这些,你还需要担心其他事情吗? 您也许可以只使用 Contains(:Value, ".") 并检查是否为 "."从字符串中找到
编辑:
测试(和学习)正则表达式的好地方: https://regex101.com/r/zBunSb/2