首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将前缀19插入字符串日期

将前缀19插入字符串日期
EN

Stack Overflow用户
提问于 2017-02-10 17:01:25
回答 1查看 254关注 0票数 1

我有一个出生日期向量作为字符串格式的"10-Feb-85“。

当我在as.Date()中使用R函数时,它假设两位数的年份是在2000年之后(这些出生日期都不是2000年以后)。

示例:as.Date(x = "10-Feb-52", format = "%d-%b-%y")

返回:2052-02-10

我不精通正则表达式,但我认为这是正则表达式在第二个-“或最后两个数字之前插入一个"19”的场合。

我找到了一个正则表达式,它可以向前数三个字符并插入一个字母:

gsub(pattern = "^(.{3})(.*)$", replacement = "\\1d\\2", x = "abcefg")

但我不知道怎么从最后数到第二。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-10 17:05:44

在第二位后插入"19“-”或在最后两位数字之前插入“19”。

在最后两位数之前:

代码语言:javascript
运行
复制
gsub(pattern = "-(\\d{2})$", replacement = "-19\\1", x = "10-Feb-52")

R演示。在这里,首先匹配-,然后匹配字符串末尾的两个数字((\\d{2})) ($),并将其捕获到第1组中。

在第二个-之后

代码语言:javascript
运行
复制
gsub(pattern = "^((?:[^-]*-){2})", replacement = "\\119", x = "10-Feb-52")

另一个演示。这里,除了{2} ([^-]*)之外,0+字符的2个序列( - ([^-]*))从字符串(^)的开始被匹配,并被捕获到第1组中。替换包含一个反向引用,该引用在替换结果中恢复捕获的文本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42164785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档