【发布时间】:2012-07-18 10:16:31
【问题描述】:
让我们定义以下字符串s:
s <- "$ A; B; C;"
我需要将s 翻译成:
"$ A; $B; $C;"
分号是分隔符。但是,$ 只是可以出现在字符串中的 3 个特殊字符之一。数据框m 包含所有 3 个特殊字符:
m <- data.frame(sp = c("$", "%", "&"))
我首先使用strsplit来分割字符串,使用分号作为分隔符
> strsplit(s, ";")
[[1]]
[1] "$ A" " B" " C"
我认为下一步是使用 grep 或 match 来检查第一个字符串是否包含数据框 m 中定义的 3 个特殊字符中的任何一个。如果是这样,也许使用 gsub 将匹配的特殊字符插入到剩余的子字符串中。然后简单地使用 paste with collapse = "" 再次将子字符串合并在一起。这有意义吗?
干杯
【问题讨论】:
标签: regex string r split pattern-matching