我正在尝试创建一个新变量,指示字符串是否以某个字符结尾。
下面是我尝试过的,但是当运行此代码时,变量ending_in_e全部为零。我希望像“Alice”和“Jane”这样的名字可以与下面的代码匹配,但它们不是:
proc sql;
select *,
case
when prxmatch("/e$/",name) then 1
else 0
end as ending_in_e
from sashelp.class
;quit;
答案 0 :(得分:3)
你应该考虑到这样一个事实:在SAS中,字符串是 char 类型,如果实际值比缓冲区短,则空格会被添加到字符串end。
trim
字符串:
prxmatch("/e$/",trim(name))
或添加空白模式:
prxmatch("/e\s*$/",name)
^^^
匹配0个或更多的空格。
答案 1 :(得分:1)