v*******e 发帖数: 506 | 1 遇到一个sas问题, 知道的人应该认为很简单, 不好意思问下,
一个variable 值类似于,
19
18,
129,
139,
1329,
28,
229,
2337,
39,
328,
3239,
想把这个variable值最后的7,8,9都去掉, 保留7,8,9前面的数字,
想用trunc (var, length), 结果value长度不同, 无法定义length,
请问高人如何解决, 谢谢!!! | k*******a 发帖数: 772 | 2 对10取余数就可以啦
如果只要去最后一位7,8,9 那么很简单
如果要去最后连续几位7,8,9那可以用do while循环
data a;
input x;
modx=mod(x,10);
if modx in (7,8,9) then x=(x-modx)/10;
datalines;
19
18
129
139
1329
28
229
2337
39
328
3239
;
proc print data=a;run; | v*******e 发帖数: 506 | | R*********i 发帖数: 7643 | 4 One step with the compress function. | S******y 发帖数: 1123 | 5 #Python 2.6
ls = [19, 18, 129, 139, 1329, 28, 229, 2337, 39, 328, 3239, 23354]
new_ls = [str(item)[0:-1] if str(item)[-1] in ['7,','8','9'] else str(item)
for item in ls]
#let me know if you need 要去最后连续几位7,8,9 |
|