查看字符串SAS中是否存在特定字符

时间:2017-09-13 14:41:15

标签: sas

我正在处理客户数据,其中一部分用于查看客户的电子邮件地址。遗憾的是,在系统中输入客户数据的字段中几乎没有控件,因此需要进行清理。

使用当前的电子邮件字段,我想根据条件创建一个填充了客户电子邮件地址的新字段" if @ exists"然后,如果它不存在,我将使用空白值填充电子邮件地址。

例如:

  Current Email Address               New Email Address
  customer1@business1.com             customer1@business1.com
  customer2@business2.com             customer2@business2.com
  customer3business3.com              

任何人都可以提供帮助 - 我已经在互联网上搜索过,找不到任何可以做到这一点的事情!!

由于

2 个答案:

答案 0 :(得分:3)

您可能需要比此更多的控件来验证电子邮件地址,但现在就去:

data have;
infile cards;
input cur_email:$50.;
cards4;
customer1@business1.com 
customer2@business2.com
customer3business3.com
;;;;
run;

data want;
  set have;
  if index(cur_email,"@") then new_email=cur_email;
run;

答案 1 :(得分:0)

如果您想在电子邮件地址中搜索字符串,例如'gmail',那么您可以使用此字符:

if COMPRESS(TRANWRD(cur_email,'gmail','~'),'~','k')='~' then new_email=cur_email;

或与第一个答案保持一致:

if INDEX(TRANWRD(cur_email,'gmail','~'),'~') then new_email=cur_email;