楼主: xyyxxf111
890 3

[技术讨论与投票] 如何判断某变量中是否包含指定字符串,变量中的值带有分割符 [推广有奖]

  • 5关注
  • 0粉丝

大专生

96%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
0.0500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
480 点
帖子
29
精华
0
在线时间
57 小时
注册时间
2020-11-19
最后登录
2026-1-19

楼主
xyyxxf111 发表于 2021-11-18 15:36:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
假如某变量的值为'cm|cm12', 即将几个数据集名连接到了一起,想判断下,这里面是否有cm1数据集。
假如用index或find函数的话,会判断为有,其实是cm12,不是cm1,则判断结果不对。
有什么好的方法来判断啊?有没有能实现这种判断的函数啊?非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:字符串 Index 非常感谢 find 数据集

回帖推荐

HXAI102230 发表于2楼  查看完整内容

x=''cm|cm12'; y=findw(x,'cm1');

沙发
HXAI102230 在职认证  发表于 2021-11-18 16:33:29
x=''cm|cm12';
y=findw(x,'cm1');

藤椅
linhaoran 发表于 2021-11-20 14:53:41
  1. data t1;
  2.         x='cm|cm12';
  3. run;

  4. data t2;
  5.         infile cards dsd dlm='|';
  6.         if _n_ eq 1 then
  7.                 input @@;
  8.         set t1;
  9.         _infile_ = x;
  10.         input @1 y1:$8. y2:$8. @@;
  11.         cards;
  12. Necessary evil
  13. ;
  14. run;

  15. proc sql;
  16.         create table t3 as
  17.                 select *
  18.                         from t2
  19.                                 left join sashelp.vcolumn v
  20.                                         on v.libname = t2.y1 and v.memname = t2.y2;
  21. quit;
复制代码

板凳
linhaoran 发表于 2021-11-20 14:56:12
T2是从网上抄了一段,处理字段内二次拆分;
T3用T2拼接SASHELP.VTABLE,判断是否存在该表。你可以把select * 改成CASE WHEN V.LIBNAME IS NOT NULL THEN '1' ELSE '0' 来判断,或者用inner join只筛有记录的。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-17 18:45