Я хочу извлечь два слова «кровь» и «потеря» в ближайшей близости к подстроке. У меня есть коды ниже, но ID 4 не работает. Я хочу получить подстроку «потеря крови», а не «кровь, а потеря крови».SAS prxparse для извлечения строки
data test;
infile datalines truncover;
input id $2. string $80.;
datalines;
1 there is one blood something loss
2 no something else here
3 three blood loss again blood loss can not believe loss of blood
4 two bloods but blood loss
;
run;
data test1;
set test;
rx=prxparse("/blood.*?loss|loss.*?blood/i");
start=1;
stop =length(trim(string));
do until (p=0);
call prxnext(rx,start,stop,trim(string),p,l);
if p>0 then do;
sub=substr(string,p,l);
output;
end;
end;
run;
Пожалуйста, не включайте имя или адрес электронной почты в вопрос (и электронная почта не должна быть где-либо здесь видимой, ее легко очистить от спамеров). – Joe
Вы хотите совместить «кровь», но не «кровь», или «кровь» в порядке, если она окажется самой близкой? – Joe
Пожалуйста, перефразируйте «близкую близость», обновите свой вопрос. –