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

SAS adding a prefix to all words in a macro variable

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

我使用的代码是:

%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 但我不明白

只去掉第一个space

你可以通过在你的公式前面加一个'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