gsub包含特殊字符的字符串

时间:2019-02-11 18:20:22

标签: r regex gsub

我是R的新手,尽管我可以看到我的问题的变体已被问过多次,但我似乎找不到gsub的任何变体,而只是删除了特殊字符。实际上,我碰到了砖墙。

我有一个包含73个变量的数据框。变量2 AGENT_REFERENCE_BROKER是基于字符的。

因此,此列中字段之一的示例为:<U+00A0>CUB00716

我需要删除以下字符,<+>

我已经按照网上的示例浏览了大约30种不同的gsub,dplyr和regex组合,但是没有一个人可以做任何操作来删除这些字符。

我知道+属于转义字符类,因此需要一个\或fixed = TRUE的参数,或者该+放在方括号[]中。

我尝试过的一些gsub命令示例如下。

clean$AGENT_REFERENCE_BROKER <- gsub('\\+', '', clean$AGENT_REFERENCE_BROKER)

clean$AGENT_REFERENCE_BROKER <- gsub('[+]', '', clean$AGENT_REFERENCE_BROKER)

require(dplyr)
clean <- clean %>%
mutate_all(funs(gsub("\\<\\>\\+", "", .)))

我确定我在此论坛上的大多数人都缺少明显显而易见的内容,但是对于我一生来说,我看不到为什么它不仅仅删除+字符。

2 个答案:

答案 0 :(得分:0)

这会删除3个指示的字符:

gsub("[<>+]", "", "abc+def<ghi>xyz")
### [1] "abcdefghixyz"

?regexp中寻找有关字符类的讨论。

答案 1 :(得分:0)

以下

gsub('[your_characters_to_match]+', '', vector)

应该可行。