Каков наилучший способ извлечь штамп даты в формате yyyymmdd
из существующей строки в SAS?
Из того, что я прочитал, кажется, что проще всего использовать регулярные выражения с prxmatch
функция для замены всего , но шаблона.
- Давайте предположим, что единственным 8-значным шаблоном в строке будет моя дата, поэтому достаточно шаблона
[0-9]{8}
.
Вот что у меня есть для замены 8-значных шаблонов на строку empty
(для удобства чтения):
data b(keep=have want);
/* HAVE */
have = '&libroot_hr./import/sxh3j900/20190702_SXH3J900_DWH_Adresse.txt';
regexp = 's/[0-9]{8}/empty/';
times = -1; /* -1: replace all occurences */
/* WANT */
want = prxchange(regexp, times, have);
/* Result
'&libroot_hr./import/sxh3j900/empty_SXH3J900_DWH_Adresse.txt'
*/
run;
Как я могу изменить это, чтобы он заменял все но любые 9-значные шаблоны со строкой empty
?