如果我有一个包含大量名称的数据集,例如" Steve Jobs",如何只使用proc print命令查找名字中带有连字符的名称?
例: 数据集ex1包含
name
--------
Steve Jobs
Steve Job-s <- I do not want this
Ste-ve Jobs <- I want this
我写的代码如下
proc print data=ex1 noobs split=' ';
where name like '%-%';
run;
我的代码将打印&#34; Steve Job-s&#34;和&#34; Ste-ve Jobs&#34;。我能做些什么来阻止&#34; Ste-ve Jobs&#34;?
答案 0 :(得分:3)
使用scan()
功能仅检查您的病情的第一个单词。第三个参数指定一个空格作为分隔符;这是必要的,因为否则-
包含在默认分隔符中:
where scan(name,1,' ') like '%-%';