我的数据格式如下:
January 2015
2014
May 2012
2011
NA
只要有一年,我想在其前面插入“十二月”。但我不想在“NA”面前插入“十二月”。我可以在R中知道怎么做吗?
答案 0 :(得分:2)
您可以尝试以下sub
功能。
sub("^(\\d+)$", "December \\1", df$x)
^
- 线锚的起点,有助于匹配线起点处的边界。
\\d+
- 匹配一个或多个数字。 ()
周围的\\d+
有助于捕获特定的数字字符。您可以使用backrefernce在替换零件中引用捕获组内存在的字符。 \\1
指的是第一个捕获组内存在的字符。
$
- 线锚的结束。因此,这个正则表达式将匹配只有数字chraacters的字符串。
或强>
sub("^(\\d{4})$", "December \\1", df$x)
\\d{4}
恰好匹配4位字符。