当前位置:  开发笔记 > 编程语言 > 正文

在SAS中,在数据步骤之外,用空白替换宏变量中的字符的最佳方法是什么?

如何解决《在SAS中,在数据步骤之外,用空白替换宏变量中的字符的最佳方法是什么?》经验,为你挑选了1个好方法。

在SAS中,在数据步骤之外,用空白替换宏变量中的字符的最佳方法是什么?

这似乎TRANSLATE是一个很好的功能.但是,使用%SYSFUNC此功能时,参数不会被引号括起来.你怎么指出一个空白应该用作替代?



1> Jay Corbett..:

%str()(在parens之间有空格)可用于指示此参数的空白.也要小心TRANSLATE ...第二个参数是替换字符...但是在TRANWRD中它是相反的.

    %macro test ;
     %let original= translate_this_var ;
     %let replaceWithThis= %str( ) ;
     %let findThis= _ ;
     %let translated= %sysfunc(translate(&original, &replaceWithThis, &findThis)) ;
     %put Original: &original ***** TRANSLATEd: &translated ;
    %mend ;
    %test;

    %macro test2 ;
     %let original= translate_this_var ;
     %let replaceWithThis= %str( ) ;
     %let findThis= _ ;
     %let tranwrded= %sysfunc(tranwrd(&original, &findThis, &replaceWithThis)) ;
     %put Original: &original ***** TRANWRDed: &tranwrded ;
    %mend ;
    %test2

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有