Как использовать SAS, чтобы найти последнее предложение в документе? - PullRequest
0 голосов
/ 26 марта 2020

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

if find(text, '.') >0 then last = strip(scan(text,-1,'.'));
else if find(text, '?') >0 then last = strip(scan(text,-1,'?'));
else if find(text, '!') >0 then last = strip(scan(text,-1,'!'));

1 Ответ

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

SCAN(string, count <, character-list <, modifier>>)

Попробуйте

last = scan ( text, -1, '.?!', 't' );

Функция scan будет go справа налево, когда счет отрицателен. Используйте разделители предложений в качестве списка символов, чтобы интерпретировать предложение как «слово». Используйте модификатор t, чтобы обрезать строку перед сканированием.

...