gpt4 book ai didi

sas - 从包含引号、双引号和不匹配引号的宏变量创建数据集变量

转载 作者:行者123 更新时间:2023-12-04 04:54:33 27 4
gpt4 key购买 nike

总之,我正在努力实现以下目标:

data _null_;
input x $ 1-50 ;
call symput('problem',x);
cards4;
'this' "is '' my "string"" from 'hell!
;;;;
run;

data _null_;
x="%superQ(problem)";
put x=;
run;

superq 函数在管理不匹配的引号方面做得很好,但是连续的引号 ("") 仍然在变量 X 中解析回单引号。

这个可以寻址吗?

当前结果:
x='this' "is '' my "string" from 'hell!

想要的结果:
x='this' "is '' my "string"" from 'hell!

最佳答案

简短的回答是,您可以在此处使用 SYMGET:

data _null_;
x=symget("problem");
put x=;
run;

如果由于某种原因这不是一个选项,请提供有关上下文的更多信息。我也会看看我是否可以指出 Toby(SAS-L 宏引用大师)或这里的其他一些人,看看他们是否有任何建议来处理这个没有 SYMGET 的问题。

在 SAS-L 中,FriedEgg (Matt) 发布了以下附加解决方案:
resolve=resolve('%superq(problem)');

他还指出,如果你能控制它,你可以在进入的路上屏蔽它:
data _null_;
input x $ 1-50 ;
call symput('problem',quote(x));
cards4;
'this' "is '' my "string"" from 'hell!
;;;;
run;

data _null_;
x=&problem;
put x=;
run;

关于sas - 从包含引号、双引号和不匹配引号的宏变量创建数据集变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16936582/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com