首页 > 解决方案 > 转换 MMM。DD, YY 字符串到 date9。在SAS?

问题描述

有没有没有正则表达式的方法可以将例如myString = "Dec. 31, 18"转换为适合的整数date9.

从 lexjansen.com 找到了一个 PDF,其中列出了许多 SAS 日期格式: SAS 日期格式集合 据我了解,我可以做类似的事情myDate = input("21Dec2018",date9.),但是没有与我的输入字符串匹配的 SAS 格式,所以我不得不先执行一些花哨的正则表达式为了转换myStringdate9.. 那是对的吗?

一个合适的正则表达式是 恕我直言s/([0-9]{3}). ([0-9]{1,2}), ([0-9]{2})/\2\120\3/,它收集 3 个字母的月份\1,一个或两位数的日期\2,以及两位数的年份,\3并相应地重新排列。我现在的问题是如何在 SAS 中使用正确的转义来实现这个正则表达式?

参考

标签: regexdatesas

解决方案


我认为本文第一个示例中描述的技术将很有用。

https://support.sas.com/resources/papers/proceedings12/245-2012.pdf


推荐阅读