Это более быстрый вопрос.
Есть грязный текст, который является определением имени таблицы, все, что мне нужно, это получить номер каждой таблицы плюс 15.
Я думаю, что регулярное выражение perl или левое значение substr()
функция может помочь, но я не настолько умел ее решить.
И я приведу следующий пример:
data test;
input x $300. @@;
datalines4;
%let Tit_Tab5_15 =%NRSTR(Tab5-15 Cross-tabulation of blood routine results(SS) );
%let Tit_Tab5_16 =%NRSTR(Tab5-16 Cross-tabulation of urine routine results(SS) );
%let Tit_Tab5_17 =%NRSTR(Tab5-17 Cross-tabulation of blood chemistry results(SS) );
%let Tit_Tab5_18 =%NRSTR(Tab5-18 Cross-tabulation of electrolyte results(SS) );
%let Tit_Tab5_19 =%NRSTR(Tab5-19 Cross-tabulation of coagulation results(SS) );
%let Tit_Tab5_20 =%NRSTR(Tab5-20 Cross-tabulation of blood lipid results(SS) );
;;;;
run;
Выходные данные должны быть:
%let Tit_Tab5_30 =%NRSTR(Tab5-30 Cross-tabulation of blood routine results(SS) );
%let Tit_Tab5_31 =%NRSTR(Tab5-31 Cross-tabulation of urine routine results(SS) );
%let Tit_Tab5_32 =%NRSTR(Tab5-32 Cross-tabulation of blood chemistry results(SS) );
%let Tit_Tab5_33 =%NRSTR(Tab5-33 Cross-tabulation of electrolyte results(SS) );
%let Tit_Tab5_34 =%NRSTR(Tab5-34 Cross-tabulation of coagulation results(SS) );
%let Tit_Tab5_35 =%NRSTR(Tab5-35 Cross-tabulation of blood lipid results(SS) );
Обратите внимание, что номер раздела (номер, следующий сразу за словом Tab
) не должен изменяться.
Решения без использования prx
семейных функций также приветствуются.