全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8380 7
2016-07-19
compress(var,,'dk')的话小数点会被忽略掉,有什么办法能保留小数点地把数字从一个字段中取出来吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-7-19 19:09:30
如果只是数字部分含有小数点:

data test;
var='ABCD11.22CDF';
newvar=compress(var,,'kdp');
run;

如果其他部分也含有点或其他符号:

data test;
var='A.BC\D11.22C.A]B';
start=anydigit(var,anydigit(var));
end=anydigit(var,-length(var));
newvar=substr(var,start,end-start+1);
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-7-20 10:11:30
wwang111 发表于 2016-7-19 19:09
如果只是数字部分含有小数点:

data test;
牛逼,太好了,跪谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-2-2 16:33:58
这就是我要找到的,太感谢了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-2-2 17:27:10
正则表达式
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-2-11 20:14:59
得看你数据是不是规律的。如果类似 k11.22b2 这样数字出现在好几块的,compress(var, , 'kdp') 就出问题了,得到结果是11.222,k的意思是keep,d是digit, p 应该是punctuations 标点符号之类的。都是针对整个字符串的。仅供参考。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群