楼主: zorro2004
8511 7

如何取出字段中的数字部分,含小数点的 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

35%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
2.8501
学术水平
1 点
热心指数
6 点
信用等级
0 点
经验
2259 点
帖子
77
精华
0
在线时间
118 小时
注册时间
2012-4-16
最后登录
2024-12-9

楼主
zorro2004 发表于 2016-7-19 13:43:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
compress(var,,'dk')的话小数点会被忽略掉,有什么办法能保留小数点地把数字从一个字段中取出来吗
二维码

扫码加我 拉你入群

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

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

关键词:小数点 compress Press comp MPR 小数点 如何

已有 1 人评分热心指数 收起 理由
eijuhz + 2 精彩帖子

总评分: 热心指数 + 2   查看全部评分

沙发
wwang111 发表于 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;
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
pingguzh + 1 + 4 + 4 + 4 精彩帖子

总评分: 论坛币 + 1  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

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

data test;
牛逼,太好了,跪谢

板凳
pingguzh 发表于 2018-2-2 16:33:58
这就是我要找到的,太感谢了

报纸
经济学balabala 发表于 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 标点符号之类的。都是针对整个字符串的。仅供参考。

7
统计学的世界 发表于 2021-4-19 23:44:59
compress(var, , 'kdp') 过后小数点会被去掉,compress(var,'.','dk')可以保留下来小数点。

8
xiaobo_mx 发表于 2021-4-20 15:55:14
data test;
        input text $40.;
        if prxmatch("/\d\.\d/",text) then dnum=input(prxchange("s/[^\d\.\d]/ /",-1,text),??best.);
        datalines;
        this 451.34 line numbers
        none here
        sas.ver
        10.absdk
        .09N S
        12354
        ;
run;

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-12 15:34