worddate格式的SAS Char返回最新版本

时间:2018-08-02 13:38:38

标签: sas

我有一个遵循以下模式的字符串:

“从2018年7月29日到2018年8月4日” “从2018年7月22日到2018年7月28日” “从2018年7月15日到2018年7月21日”

我正在尝试提取“至”日期值,并将其转换回日期。

data have;
infile datalines truncover dlm='|' ;
input Week_Name : $100.;
datalines;
From July 29, 2018 to August 4, 2018
From July 22, 2018 to July 28, 2018
From July 15, 2018 to July 21, 2018
run;

data want;
set have;
RE=PRXPARSE("/to [A-Za-z]+ [0-9]+, [0-9]{4}/");
CALL prxsubstr(RE,STRIP(Week_Name),start,length);
IF START GT 0 then DO;
    END_DT_CHAR = strip(substrn(STRIP(Week_Name),start+3,length-3));
    END_DATE = input(END_DT_CHAR,anydtdte.);
end;
drop RE start   length;
run;

END_DT_CHAR可以正常使用。我得到

END_DT_CHAR 八月4,2018 七月28,2018 2018年7月21日

但是     END_DATE =输入(END_DT_CHAR,任意)。

返回所有NULL

0 个答案:

没有答案