Функция SCAN для изменения фразы - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть расшифровывающая фраза (AE_SER_D) «Важное медицинское событие по мнению следователя», которую мне нужно изменить на «Важное медицинское событие по мнению следователя», поскольку апостроф между r и s вызывает программу на ошибку. Я не могу изменить декодирование (AE_SER_ C), но хотел запрограммировать строку кода, используя функцию сканирования для поиска, если ae_ser_d - это ne '' и содержит эту фразу, но хочет найти только частичный сегмент фразы как Если я найду целую фразу, это вызовет ошибку программы из-за апострофа. SCAN - лучший вариант здесь?

1 Ответ

0 голосов
/ 11 февраля 2020

Работа с идеей Reeza: Удалите все знаки препинания с помощью функции compress() и опции 'p'. Предполагая, что вы хотите использовать одинарную кавычку вокруг всей фразы, заключите результат в одинарные кавычки, используя cats().

data want;
    AE_SER_D = cat("'Is a significant medical event in the Investigator's ", 'judgment"');
    AE_SER_D_Fixed = cats("'", compress(AE_SER_D,,'p'), "'");
run;

Если вам нужно только удалить кавычки и оставить другие знаки препинания, укажите их непосредственно в compress():

data want;
    AE_SER_D = cat("'Is a significant medical event in the Investigator's ", 'judgment"');
    AE_SER_D_Fixed = cats("'", compress(AE_SER_D, "'"""), "'");
run;

Источник: KevinQin

...