可复制示例
df <- data.frame("col1" = 1:3, "col2" = c(0.9, '9-', 10))
col1 col2
1 1 0.9
2 2 9-
3 3 10
预期产量
col1 col2
1 1 0.9
2 2 -9
3 3 10
问题
我正在尝试替换列中的所有-并将其粘贴在前面。有人可以告诉我该怎么做吗?谢谢!
答案 0 :(得分:1)
我们可以使用sub
捕获-
之前的字符作为一个组,-
作为第二组的字符,在替换中提供捕获组的后向引用
sub("(.*)(-)$", "\\2\\1", df$col2)
#[1] "0.9" "-9" "10"
或使用一个捕获组
sub("(.*)-$", "-\\1", df$col2)