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