替换子字符串

时间:2017-06-30 05:33:30

标签: r regex

希望得到一些指导,因为只是偶尔的分析师,并且无法真正理解如何使用前面的数值来管理表达式。

我的数据如下,我希望将“4D”和“5D”类型的数据转换为“4门”和“5门”。

a <- c("4D Sedan", "5D Wagon")
b <- c("4 Door Sedan", "5 Door Wagon")
dt <- cbind(a,b)

感谢。

1 个答案:

答案 0 :(得分:3)

我们可以在这里使用gsub(),搜索模式:

\\b(\\d+)D\\b

并将其替换为:

\\1 Door

<强>代码:

a <- c("4D Sedan", "5D Wagon", "AB4D car 5D")
> gsub("\\b(\\d+)D\\b", "\\1 Door", a)
[1] "4 Door Sedan"    "5 Door Wagon"    "AB4D car 5 Door"

在上面的示例中请注意4D中的AB4D car 5D 会被替换,我们也不希望这种情况发生。通过在\\b(\\d+)D\\b中使用字边界,我们可以避免不必要的替换发生。