全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3126 7
2011-01-16
悬赏 5 个论坛币 已解决
现有一个宏变量, varslist, 内容为“Model & Variable & _name_ & South_Afri & U_K_ & U_S_”。如何把里边的“_” 替换为 空格" "。多谢各位高手。

现在  %put &varslist的结果为:
Model & Variable & _name_ & South_Afri & U_K_ & U_S_

目标 %put &varslist的结果为:
Model & Variable & name & South Afri & U K & U S
二维码

扫码加我 拉你入群

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

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

全部回复
2011-1-16 02:05:59
复制代码
二维码

扫码加我 拉你入群

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

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

2011-1-16 02:10:12
宏变量, varslist,里存的是一个SAS数据库里的变量的名字。如果可以通过修改数据库变量的名字实现也可以。
二维码

扫码加我 拉你入群

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

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

2011-1-16 02:39:39
找到一段code。不过那个空格加不上。不过也无所谓了。

来源:http://www.sascommunity.org/wiki ... ng_Replace_Function
                                                                              
%macro strreplace(in_what, from_what, to_what);   
    %global s;
    %let s=&in_what;                                                            
    %do %while(%index(&s, &from_what) > 0);                  
        %let pos_fw = %index(&s, &from_what);
        %if &pos_fw > 0 %then %do;                                             
            %let l_str = %substr(&s, 1, %eval(&pos_fw - 1));              
            %let r_str = %substr(&s, %eval(&pos_fw + %length(&from_what)));     
            %let s=&l_str&to_what&r_str;                                       
        %end;                                                                  
    %end;                                                                       
   %let in_what= &s;                                                                          
%mend;   

%let str1=Model & Variable & _name_ & South_Afri & U_K_ & U_S_;
%let ts=%strreplace(&str1, _, );

%put &s;
二维码

扫码加我 拉你入群

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

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

2011-1-16 03:26:35
看不大懂呢。呵呵。看来要好好好好的学习啊
二维码

扫码加我 拉你入群

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

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

2011-1-16 09:28:20
又见牛人,未测试,但往上的2个人的思路都很有意思
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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