我正在尝试对作为值存储在不同文件中的变量列表运行命令。为此,我根据变量名称创建一个新语法,如下所示:
WRITE OUT="\Selection.sps"
/"VARIABLE ATTRIBUTE VARIABLES = Final_",Var1," ATTRIBUTE=selectVars('yes')." .
EXECUTE.
问题出在 Final 和 Var1 之间,我得到了 11 个空格。我想在其中使用此宏的文件的变量名称为 Final_Var1 (因此在新文件中,Final 添加到每个变量的名称中)。如何删除空格以便可以正确引用新变量?我应该创建一个新文件还是 COMPUTE
和 CONCAT
命令吗?
最佳答案
write
命令受到这样的限制 - 您无法避免空格或使用 trim
。对于像您正在处理的命令这样的命令,无法在 write
中构建命令。命令 - 您必须提前构建文本,然后将其放入 write
中命令,所以 -
strimg mycmd(a100).
compute mycmd=concat("VARIABLE ATTRIBUTE VARIABLES = Final_",
ltrim(string(Var1,f4)),
" ATTRIBUTE=selectVars('yes').").
WRITE OUT="\Selection.sps" /mycmd .
exe.
请注意,这并不是处理变量列表的唯一方法 - 您可以在语法中使用 Python 代码来更有效地构建变量列表。
关于syntax - 使用 Write 命令创建新语法 - 出现不需要的空格问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54532049/