0

在此处输入图像描述

尝试将上表中的“当前”模式转换为数据集中的“将其转换为”模式...示例显示在接下来的 2 列中,每个列....我尝试了不同的方法,但我无法获得要求输出......这是获取输入数据的代码......

    data Current;
Input Currently :$40.;
Datalines;
HiKumar"^TM1()^",test
HiKumar"^TM2()^"
HiKumar^TM3()^HiKumar
HiKumar^f(‘VARNAME’).any(‘#’)^
HiKumar^f(‘VARNAME’)^
HiKumar^f(‘VARNAME’).get()==’#’^
HiKumar^f(‘VARNAME’)==’#’^
HiKumar^f(‘VARNAME’).toNumber()^
HiKumar^f(‘VARNAME’).toString()^
HiKumar^f(‘VARNAME’).toString().toLowerCase()^
HiKumar^f(‘VARNAME’).toString().toUpperCase()^
HiKumar^f(‘IFCONDITION’)?’THENTEXT’:’ELSETEXT’^
HiKumar<br>
HiKumar<br/>
HiKumar<br />
HiKumar^MobileHeader()^
HiKumar^MobileFooter()^
HiKumar<u>
HiKumar</u>
HiKumar&nbsp
;
run;
4

1 回答 1

1

我会使用正则表达式。你需要几个;这是一个开始。(引号字符可能会被 Web 浏览器和/或 SAS 弄乱,所以我建议手动替换它们,而不是信任复制/粘贴,如果它们一开始不起作用)。这仅标识第四行,但可以为其他行构造类似的正则表达式(有些您应该能够用于多行)。

data want;
set current;
rx_1 = prxparse("/\^f\(‘(\w*?)’\)\^/");
rc_1 = prxmatch(rx_1,currently);
if rc_1 ne 0 then have = prxposn(rx_1,1,currently);
run;
于 2013-04-23T13:45:46.817 回答