检测字符串中的数字
Detect numerics in string
我有以下格式的数据:
January 2015
2014
May 2012
2011
NA
只有年份的地方,我想在它前面插入"December"。但是我不想在"NA"前面插入"December"。我可以知道如何在 R 中执行此操作吗?
您可以尝试以下 sub
功能。
sub("^(\d+)$", "December \1", df$x)
^
- 线锚点的开始,有助于匹配存在于线开始处的边界。
\d+
- 匹配一位或多位数字。 ()
大约 \d+
有助于捕获特定的数字字符。您可以使用反向引用在替换部分中引用捕获组中存在的字符。 \1
引用第一个捕获组中存在的字符。
$
- 行尾锚点。所以这个正则表达式将匹配只有数字字符的字符串。
或
sub("^(\d{4})$", "December \1", df$x)
\d{4}
正好匹配 4 个数字字符。
我有以下格式的数据:
January 2015
2014
May 2012
2011
NA
只有年份的地方,我想在它前面插入"December"。但是我不想在"NA"前面插入"December"。我可以知道如何在 R 中执行此操作吗?
您可以尝试以下 sub
功能。
sub("^(\d+)$", "December \1", df$x)
^
- 线锚点的开始,有助于匹配存在于线开始处的边界。
\d+
- 匹配一位或多位数字。 ()
大约 \d+
有助于捕获特定的数字字符。您可以使用反向引用在替换部分中引用捕获组中存在的字符。 \1
引用第一个捕获组中存在的字符。
$
- 行尾锚点。所以这个正则表达式将匹配只有数字字符的字符串。
或
sub("^(\d{4})$", "December \1", df$x)
\d{4}
正好匹配 4 个数字字符。