从SAS宏变量中删除逗号

时间:2017-06-28 20:32:02

标签: sas sas-macro

我有一个SAS宏变量:

&newlist. = OriginCd DestinCd

我试图获得一个同样的新宏变量,但删除了逗号和空格。所以这个:

%let newlist=%sysfunc(tranwrd(%sysfunc(compbl(&varlist)),%str(,),%str( )));
%let newlist = %sysfunc(compress(&varlist,','));
%let newlist = %sysfunc(tranwrd(&varlist,","," "));

我尝试过以下方法:

api.SetImageFile(img)

对于转换函数,我得到"%SYSFUNC宏函数引用的函数TRANWRD有太多的参数"。但我很确定这是你通常使用它的方式。谢谢!

1 个答案:

答案 0 :(得分:2)

尝试:

 Debug.Print [Forms]![frmBrowseTickets]![NavigationSubform].Form![cboGoToRecord].Value

我添加了%let varlist=OriginCd,DestinCd; %let newlist=%sysfunc(compbl(%sysfunc(tranwrd(%quote(&varlist),%str(,),%str( ))))); %put &=newlist; 以防止逗号被解释为参数分隔符,并将%quote()切换到外部以防止需要另一个compbl()