У меня есть список программ с разной степенью сложности, которые включают тип степени (например, PhD), и я хочу удалить тип степени и сохранить только имя программы. например .:SAS, как извлечь несколько слов из строки
Master of Science in Building Performance and Diagnostics
Master of Science in Computational Design
Master of Science in Sustainable Design
Master of Urban Design
PhD in Architecture
Я пытаюсь использовать сканирование, чтобы разделить строку на «в» и извлечь весь текст, который следует, но я не понимаю, результат я получаю. Когда я использую -1 (начало справа) в качестве отправной точки я получаю:
data want;
format new_prog old_prog $200.;
set have (rename = (program = old_prog));
if count(old_prog, " in ") ge 1 then new_prog = scan(old_prog, -1, "in ");
run;
new_prog old_prog
tecture Master of Science in Architecture
g Master of Science in Sustainable Design
cs Master of Science in Building Performance and Diagnostics
t Master of Science in Architecture-Engineering and Construction Management
Я не думаю, что это будет работать в любом случае, так как я хочу всю строку после «в», а не просто следующего слова , но даже если я использую сканирование (old_prog, 2, «в»), я ожидаю, что это даст мне следующее слово, но это, кажется, дает мне случайные вещи, например:
program old_prog
Bu PhD in Building Performance and Diagnostics
of Master of Science in Architecture-Engineering and Construction Management
Computat PhD in Computational Design
of Master of Science in Sustainable Design
Насколько я знаю, параметр «в», который вы использовали в функции сканирования будет использовать все символы, отдельные разделители. Он не будет работать так, как вы ожидаете. – RamB