在 SAS 中,在数据步骤之外,将宏变量中的字符替换为空白的最佳方法是什么?
在 SAS 中,在数据步骤之外,将宏变量中的字符替换为空白的最佳方法是什么?
看来 TRANSLATE
是一个很好用的函数。 但是,当将 %SYSFUNC
与此函数一起使用时,参数不会用引号引起来。 您如何指示应使用空白作为替换?
In SAS, outside of a data step, what is the best way to replace a character in a macro variable with a blank?
It seems that TRANSLATE
would be a good function to use. However when using %SYSFUNC
with this function, the parameters are not surrounded with quotes. How do you indicate a blank should be used as replacement?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
%str( )(括号之间有一个空格)可用于指示此参数的空格。 另外要小心 TRANSLATE...第二个参数是替换字符...但是在 TRANWRD 中它是相反的。
The %str( ) (with a blank between the parens) can be used to indicate a blank for this parameter. Also be careful with TRANSLATE...the 2nd param is the replacement char...however in TRANWRD it is reversed.
宏语言中没有引号。 使用的唯一引号字符是
&
、%
等,以指示文本应解释为宏“运算符”。 空白由%str( )
表示,如上面 Carolina 的帖子中所示。There are no quotes in macro language. The only quotes characters that are in use are the
&
,%
etc. to indicate that the text should be interpreted as a macro "operator". A blank is represented by%str( )
as indicated above in Carolina's post.您可以使用 perl reg ex 代替,例如:
you can use perl reg ex instead, like: