SAS在关键字之前获取单词

时间:2017-05-25 15:17:10

标签: sas

我正在使用9.4 SAS。我在一栏中有以下句子:

" BELINDA S LEE是旧金山办事处和LATHAM& S的合伙人。 WATKINS。她是公司的会员和诉讼成员。试验部门。她的实践重点是反托拉斯和复杂的诉讼。"

我想要扫描WORD" DEPARTMENT"关键字,当它出现时,它会占用该关键字之前的整个句子,然后在空格或句号停止时停止。由此我将创建一个新栏目,其中包含以下信息"她是公司的成员和诉讼成员。 TRIAL DEPARTMENT"。

是否可以使用这样的关键字扫描文本列以获取关键字之前的其余句子?

由于

克里斯

1 个答案:

答案 0 :(得分:0)

你想先把字符串分成句子。然后测试每个句子,看它是否包含您要查找的单词。如果是,则输出该记录。

data have;
input = "BELINDA S LEE IS A PARTNER IN THE SAN FRANCISCO OFFICE OF LATHAM & WATKINS. SHE IS A MEMBER OF THE FIRM'S LITIGATION & TRIAL DEPARTMENT. HER PRACTICE FOCUSES ON ANTITRUST AND COMPLEX LITIGATION.";
run;

data want;
set have;
format out $2000.;

n = countw(input,".");
do i=1 to n;
    out = scan(input,i,".");
    if index(out,"DEPARTMENT") then 
        output;
end;
drop i n;
run;

所以在这里我使用COUNTw()函数来计算由'。'分隔的句子数。然后我循环遍历那些,使用SCAN()函数获取每个。我测试看看“DEPARTMENT”是否在该句子中,如果是,则输出。