全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4182 2
2016-06-15
悬赏 2 个论坛币 已解决
整一个代码如下,其实想问的就是一个问题这里的%let rvars=%trim(%QSCAN(&winsvars,&i,%STR( )));
qscan是什么意思呢?
以及后面的i代表什么,%str代表什么?
解释好像是%qscana,b,c):在a中找到第b个量,且以分隔符c来进行分割

其中%str()其实是指一个表达式“空格”

但是我感觉自己还是不太理解。谢谢大家。

复制代码


最佳答案

孤单的我们 查看完整内容

楼主对scan函数的描述是正确的,举个例子好理解些 scan(a,b,c) name="Li Lei";我们要取出firstname和lastname,这两者以空格为分隔符。(也就是空格是c) 空格把name分成两部分,第1部分是"Li",第2部分是"Lei"。(1和2就是b) 用scan可以这样取,firstname=scan(name,1," ");lastname=scan(name,2," "); 上面的c字符串是单个的,也可以是多个字符串,多调试下就能理解的更明白了。 另外,因为宏变量是以字符存储的(1 ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-6-15 20:03:18
楼主对scan函数的描述是正确的,举个例子好理解些

scan(a,b,c)
name="Li Lei";我们要取出firstname和lastname,这两者以空格为分隔符。(也就是空格是c)
空格把name分成两部分,第1部分是"Li",第2部分是"Lei"。(1和2就是b)
用scan可以这样取,firstname=scan(name,1," ");lastname=scan(name,2," ");

上面的c字符串是单个的,也可以是多个字符串,多调试下就能理解的更明白了。

另外,因为宏变量是以字符存储的(1个空格就是1个空格,没有前后引号),但和字符型变量的值(" ")有区别,所以用%str( )。

%qscan是宏函数,%qscan和%scan类似;而%scan是scan函数在宏语言里的写法。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-11 19:29:25
楼上正解!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群