SAS中文论坛

标题: 请教各位大大 [打印本页]

作者: shiyiming    时间: 2008-7-28 23:38
标题: 请教各位大大
现在有以下字符
003012
003015
003020
003022
003027
003029
003035
003039
003050
现在要得到
600012
600015
600020
600022
600027
600029
600035
600039
600050
即替换规则是将前三个003替换为600
谢谢各位大大
作者: shiyiming    时间: 2008-7-29 12:25
标题: Re: 请教各位大大
将变量拆开,前边3位改成600即可,后面的不要动。
作者: shiyiming    时间: 2008-7-29 17:26
标题: Re: 请教各位大大
tranwrd
作者: shiyiming    时间: 2008-7-29 19:40
标题: Re: 请教各位大大
[code:1uf0y327]
data a;
        input a $6.;
        cards;
003012
003015
003020
003022
003027
003029
003035
003039
003050
;
run;

方法一:
data result;
        set a;
        if a=:'003' then substr(a,1,3)='600';
run;

方法二:

data result;
        set a;
        if index(a,'003')=1 then substr(a,1,3)='600';
run;

方法三:
data result;
        set a;
        if a=:'003' then a=kupdate(a,1,3,'600');
run;


[/code:1uf0y327]
作者: shiyiming    时间: 2008-7-29 22:09
标题: Re: 请教各位大大
谢谢byes
昨晚后来翻了翻sas书已经搞定了:)
if substr(zqdm,1,3)='609'
then substr(zqdm,1,3)='020';




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2