有人知道如何拆分SAS中的电子邮件地址吗?情况就是这样:
happy_new_year@gmail.commakannasi@yahoo.co.idnasigoreng@abc.net
然后将文本分成以下内容:
happy_new_year@gmail.com|makannasu@yahoo.co.id|nasigoreng@abc.net
直到现在,我还没有找到最好的解决办法。
感谢
答案 0 :(得分:1)
正如评论所说,对于大量。* TLD而言,这可能会非常棘手。更不用说你可能有一个tld与下一个地址的第一个字母看起来像另一个tld。 I.E.如果.xy和.xyz都是tlds,me@here.xyzed@here.com
将是不明确的。是me@here.xy|zed@here.com
还是me@here.xyz|ed@here.com
?
那说我会这样开始接近它。
%let tlds = .com .net .edu .blah .fu .bar;
data _null_;
format str $2000.;
str = "bob@here.comchris@xyz.blahme@hrm.fu";
tlds = "&tlds";
format tld $4.;
do i=1 to countw(tlds);
tld = scan(tlds,i);
str = tranwrd(str,strip(tld),strip(tld)||"|");
end;
put str;
run;
返回
bob@here.com|chris@xyz.blah|me@hrm.fu|
根据需要添加逻辑,如附加tld或新逻辑。