SAS FIND() - 查找两个连续大写字母的位置

时间:2016-03-18 18:41:20

标签: sas text-parsing

在查找字符串中任何大写字母的位置时,会拖尾前一个问题/答案。虽然我可以使用之前提供的答案来识别上面的场景:

DATA TEST;
SET SAMPLE;
_endpos= FINDC(TXT,,'u');
ID = substr(TXT,1,_endpos-1);
RUN;

我如何找到连续两个连续大写字母的条件?不知道如何提供信息来代表两次连续出现的' u'这里的选择......

DATA TEST;
SET SAMPLE;
_endpos= FINDC(TXT,__,'u');
ID = substr(TXT,1,_endpos-1);
RUN;

DATA TEST;
SET SAMPLE;
_endpos= FINDC(TXT,  ,'u');
ID = substr(TXT,1,_endpos-1);
RUN;

1 个答案:

答案 0 :(得分:1)

我修改了分隔符以包含空格和标点符号。

data _2upcase;
   input string $50.;
   do c=1 by 1 until(l eq 2 or p eq 0);
      call scan(strip(string),c,p,l,,'ldsp');
      end;
   length _2upcase $2;
   _2upcase = substrn(string,p,l);
   cards;
nndkd11UUndkdLLL
kdnakaliueoina
nnnlllLLLlllLLlll
thisISa2DIgit
this IS silly
this.IS.silly
;;;;
   run;