我很接近,但似乎无法让这个工作。我希望将此字符串“1960-12- 031 22:00: 010 ”转换为此字符串“1960-12- 31 22:00: 10 “通过找到两个数字前面加0然后剥离0的地方。
我有正则表达式工作:
txt <- "1960-12-031 22:00:010"
gsub("(0+[0-9]{2})", "\\1", txt, perl=TRUE)
我似乎无法弄清楚如何处理“\\ 1”以删除第一个字符。
任何帮助将不胜感激 -
答案 0 :(得分:2)
txt <- "1960-12-031 22:00:010"
gsub("0+([0-9]{2})", "\\1", txt, perl=TRUE)
请注意,这将用31替换031,0031,00031等。如果您只想删除第一个零,请使用"0{1}([0-9]{2})"
。
更新:根据评论中的建议,您可以使用"[\\D]0+([0-9]{2})"
来避免在2012等数字中匹配零。