SAS为宏变量中的所有单词添加前缀

时间:2019-04-08 09:25:17

标签: string sas prefix sas-macro

我正在为宏变量中的每个单词添加一个前缀。但是,使用我当前的方法时,第一个单词不会收到前缀。查看我的代码,有充分的理由,因为单词前面没有空格。

我使用的代码是:

%LET independent_vars   =   FF_1 FF_4 FF_7 FF_10;
%LET log_independent_vars = %SYSFUNC(TRANWRD(&independent_vars.,%str( ),%str( ln_)));
%PUT &log_independent_vars.;

当前输出为:     FF_1 ln_FF_4 ln_FF_7 ln_FF_10

预期输出为:     ln_FF_1 ln_FF_4 ln_FF_7 ln_FF_10

我尝试使用prxchange,但我不理解

1 个答案:

答案 0 :(得分:2)

仅第一个空格被删除

您可以通过在公式前面添加一个'ln_'来解决此问题

%LET independent_vars   =   FF_1 FF_4 FF_7 FF_10;
%LET log_independent_vars = ln_%SYSFUNC(TRANWRD(&independent_vars.,%str( ),%str( ln_)));
%PUT &log_independent_vars.;
  

ln_FF_1 ln_FF_4 ln_FF_7 ln_FF_10