Нечеткое совпадение по ключевому слову в большей строке - SAS - PullRequest
0 голосов
/ 17 марта 2020

Используя SAS, у меня есть таблица с предложениями, и я ищу, чтобы найти строки в таблице, где ключевое слово найдено в предложении с использованием нечеткого соответствия (complev function). Есть ли способ в SAS найти строку ключевого слова в предложениях? Я знаю, как использовать complev, но я могу использовать его только для сравнения полных строк, а не строки как части большей строки. Для этой таблицы примеров ключевое слово будет 'example', а результат сравнения будет в столбце Result. Спасибо за ваши идеи!

This is an Example sentence : 1
Here is another one : 0
Also an exmple : 1
The examples keep coming : 1
No worries : 0

1 Ответ

0 голосов
/ 17 марта 2020

Посмотрите, можете ли вы использовать это как шаблон. Я сравниваю значение Complev с тремя, но вы можете установить любое подходящее значение.

data have;
input string $ 1-25;
datalines;
Example sentence         
Here is another one      
Also an exmple           
The examples keep coming 
No worries               
;

data want;
   set have;
   result = 0;
   do _N_ = 1 to countw(string);
      if complev('example', scan(string, _N_)) < 3 then do;
         result=1; leave;
      end;
   end;
run;

РЕДАКТИРОВАТЬ: Используйте complev('example', scan(string, _N_), 'i'), если вы хотите, чтобы сравнение было без учета регистра.

...