我有以下代码块:
temp <- "44C"
sub("^([-+]?[0-9]+)([CF])$","\\2",temp)
这会正确返回 中号 .
然而当我尝试
temp <- "44"
sub("^([-+]?[0-9]+)([CF])$","\\2",temp)
我期待一个空向量。相反,我得到“ 44 ”。
我的推理有问题吗?
最佳答案
没有\2
在你的第二种情况下。所以它不能替换任何东西并返回原样的原始字符串。
当正则表达式在 sub 中失败时,将返回原始字符串。
关于regex - sub 返回不正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25505291/