2017-09-13 191 views
-1

我正在处理客户数据,其中一部分查看客户的电子邮件地址。不幸的是,在系统中输入客户数据并因此需要清理的领域几乎没有任何控制。查看字符串中是否存在特定字符SAS

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

例如:

Current Email Address    New Email Address 
    [email protected]    [email protected] 
    [email protected]    [email protected] 
    customer3business3.com    

谁能帮助 - 我已经走遍了互联网,并不能找到任何可以做到这一点!

感谢

+0

INDEX/FIND是你需要的。您可以搜索lexjansen.com以获取包括电子邮件地址在内的清洁数据的示例。那里有很多示例代码。 – Reeza

+0

仅供参考 - 您的问题很可能会因为它不符合SO的要求而被低估 - 您需要展示迄今为止尝试过的内容。 – Reeza

回答

3

你可能会想比这更多的控制,以验证电子邮件地址,但在这里你去:

data have; 
infile cards; 
input cur_email:$50.; 
cards4; 
[email protected] 
[email protected] 
customer3business3.com 
;;;; 
run; 

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

索引功能!非常感谢你的工作:) – amy

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; 
相关问题