Sas 在关键字之前获取单词

Sas 在关键字之前获取单词,sas,Sas,我目前正在使用9.4 SAS。我在专栏中有以下句子: 贝琳达·李是莱瑟姆和沃特金斯公司旧金山办事处的合伙人,她是该公司诉讼和审判部的成员,其实践主要集中在反垄断诉讼和复杂诉讼。 我想扫描文本中的单词“DEPARTMENT”关键字,当它出现时,在该关键字之前取整个句子,然后在出现空格或句号时停止。在此基础上,我将创建一个包含以下信息的新专栏:“她是公司诉讼和审判部门的成员” 可以用这样的关键字扫描文本列,以获得关键字之前的剩余句子吗 谢谢 Chris你想先把字符串分成几个句子。然后测试每个句子,看

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

贝琳达·李是莱瑟姆和沃特金斯公司旧金山办事处的合伙人,她是该公司诉讼和审判部的成员,其实践主要集中在反垄断诉讼和复杂诉讼。 我想扫描文本中的单词“DEPARTMENT”关键字,当它出现时,在该关键字之前取整个句子,然后在出现空格或句号时停止。在此基础上,我将创建一个包含以下信息的新专栏:“她是公司诉讼和审判部门的成员”

可以用这样的关键字扫描文本列,以获得关键字之前的剩余句子吗

谢谢


Chris

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

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”,如果有,输出