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

问题描述 投票:2回答:1

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

我使用的代码是:

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

string sas prefix sas-macro
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.