我正在尝试在4位数后添加时间戳(4位数为年),我目前正在使用以下代码:
temp.table[,"admission_datetime"] <- gsub("/2010$", "/2010 0:00:00", temp.table[,"admission_datetime"])
temp.table[,"admission_datetime"] <- gsub("/1976$", "/1976 0:00:00", temp.table[,"admission_datetime"])
temp.table[,"admission_datetime"] <- gsub("/1990$", "/1990 0:00:00", temp.table[,"admission_datetime"])
temp.table[,"admission_datetime"] <- gsub("/1978$", "/1978 0:00:00", temp.table[,"admission_datetime"])
代码对我来说很好,但有点笨拙且不灵活,我知道我可以使用[0-9]{4}
捕获1976,1978,1990,2010,但我不知道如何使用它们正则表达式,谁能开导我?感谢。
答案 0 :(得分:4)
这应该有效:
temp.table[,"admission_datetime"] <- gsub("/([0-9]{4})$", "/\\1 0:00:00", temp.table[,"admission_datetime"])
答案 1 :(得分:1)
如果将模式括在括号中,则可以使用\ 1,\ 2等在替换中引用它,具体取决于您要返回的表达式:
gsub("/([0-9][0-9][0-9][0-9])$","\\1 0:00:00","1/21/1985")
更复杂的变种是可能的:
gsub("([0-9]+)/([0-9]+)/([0-9]+)","\\2/\\1/\\3 0:00:00","1/21/1985")
答案 2 :(得分:1)
尝试使用这些3 awesome must-know
网站中的任何一个,以帮助找到所需的任何REGEX:
http://lumadis.be/regex/test_regex.php
http://cs.union.edu/~hannayd/csc350/simulators/RegExp/reg.htm