我有一个生日列表,看起来像这样:
dob <- c("9/9/43 12:00 AM/PM", "9/17/88 12:00 AM/PM", "11/21/48 12:00 AM/PM")
我想从这个变量中获取日历日期(即删除第一次出现空格后的所有内容)。
到目前为止,这是我尝试过的:
dob.abridged <- substring(dob,1,8)
dob
[1] "9/9/43 1" "9/17/88 " "11/21/48"
dob.abridged <- gsub(" $","", dob.abridged, perl=T)
> dob.abridged
[1] "9/9/43 1" "9/17/88" "11/21/48"
所以我的代码适用于长度为 6 或 7 的日历日期,但不适用于长度为 8 的日历日期。是否有关于与 gsub 一起使用的更有效的正则表达式的指针,可以处理长度为 6、7 或 8 的日历日期?
谢谢。
不需要子串,只需使用gsub:
gsub( " .*$", "", dob )
# [1] "9/9/43" "9/17/88" "11/21/48"
空间 (
),然后任意字符 (.
)任意次数(*
) 直到字符串末尾 ($
). See ?regex学习正则表达式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)