Sas 如何检查字符串是否包含撇号
我不记得SAS是如何处理这些特殊角色的。有内置的功能吗 例如 a=元旦,我是否应该使用indexa、'New Year's Day'>0之类的命令?使用下面的find命令来查找字符串中是否有您要查找的内容。如果返回的值大于>0,则撇号或您要查找的任何内容都存在,否则不存在 Teststring—您希望查看的位置 Teststring旁边的引号中是“-您在寻找什么 你的案例撇号 使用下面的find命令来查找字符串中是否有您要查找的内容。如果返回的值大于>0,则撇号或您要查找的任何内容都存在,否则不存在 Teststring—您希望查看的位置 Teststring旁边的引号中是“-您在寻找什么 你的案例撇号Sas 如何检查字符串是否包含撇号,sas,Sas,我不记得SAS是如何处理这些特殊角色的。有内置的功能吗 例如 a=元旦,我是否应该使用indexa、'New Year's Day'>0之类的命令?使用下面的find命令来查找字符串中是否有您要查找的内容。如果返回的值大于>0,则撇号或您要查找的任何内容都存在,否则不存在 Teststring—您希望查看的位置 Teststring旁边的引号中是“-您在寻找什么 你的案例撇号 使用下面的find命令来查找字符串中是否有您要查找的内容。如果返回的值大于>0,则撇号或您要查找的任何内容都存在,否则不
这个问题的关键是在引号中隐藏撇号。如果希望查找单个撇号的出现,可以使用双撇号将其隐藏: 寻找单撇号 使用双引号将单撇号作为第二个参数传递给index函数 寻找双引号
这一次,当传递给索引函数时,双引号被设置在单引号内。这个问题的关键是引号中省略号的屏蔽。如果希望查找单个撇号的出现,可以使用双撇号将其隐藏: 寻找单撇号 使用双引号将单撇号作为第二个参数传递给index函数 寻找双引号
这一次,当传递到索引函数mjsqu时,双引号设置在单引号内,NeoMental很好地涵盖了基本情况,但在您没有使用选项的特殊情况下,例如,您需要防止宏变量解析,您可以将撇号加倍:
data _null_;
a='MerryXmas&HappyNewYear''s'; *here need single quotes or a macro quoting function;
b=find(a,"'"); *here do not need to mask ampersand resolution;
run;
当然,您也可以使用%nrstr来避免解析,但在现实生活中,有时需要这样做。这同样适用于两个变为一个字符。mjsqu和NeoMental很好地涵盖了基本情况,但在特殊情况下,您没有使用的选项,例如,您需要防止宏变量分辨率,您可以将撇号加倍:
data _null_;
a='MerryXmas&HappyNewYear''s'; *here need single quotes or a macro quoting function;
b=find(a,"'"); *here do not need to mask ampersand resolution;
run;
当然,您也可以使用%nrstr来避免解析,但在现实生活中,有时需要这样做。这同样适用于两个变为一个字符。是否要检查字符串是否包含撇号?是否要检查字符串是否包含撇号?
data _NULL_;
a='They said, "Happy New Year!"';
b=index(a,'"');
put b=;
run;
data _null_;
a='MerryXmas&HappyNewYear''s'; *here need single quotes or a macro quoting function;
b=find(a,"'"); *here do not need to mask ampersand resolution;
run;