如何在R中用相同的字符串替换多个字符串
How to replace multiple strings with the same in R
我有一个字符串
vec = c('blue','red','flower','bee')
我想在一行中将不同的字符串转换成相同的字符串,而不是分别
即我可以 gsub blue 和 gsub red 让它们都拼写 'colour'。我怎样才能在一行中做到这一点?
输出应该是:
'colour','colour','flower','bee'
sub("blue|red", "colour", vec)
使用“|” (这意味着逻辑 OR
运算符)在要替换的单词之间。
使用 sub
仅更改第一次出现,使用 gsub
更改同一字符串中的多次出现。
在 R 控制台中键入 ?gsub
以获取更多信息。
这里不需要指定要替换的颜色,它会替换R知道的任何颜色(由colors()
返回)
> col <- paste0(colors(), collapse = "|")
> gsub(col, "colour", vec)
[1] "colour" "colour" "flower" "bee"
此外,正如评论中所建议的(显然只有当元素只有颜色时才有效,因此 gsub
方法似乎更适合您的目的):
> vec[vec %in% colors()] <- "coulour"
> vec
[1] "coulour" "coulour" "flower" "bee"
我有一个字符串
vec = c('blue','red','flower','bee')
我想在一行中将不同的字符串转换成相同的字符串,而不是分别 即我可以 gsub blue 和 gsub red 让它们都拼写 'colour'。我怎样才能在一行中做到这一点?
输出应该是: 'colour','colour','flower','bee'
sub("blue|red", "colour", vec)
使用“|” (这意味着逻辑 OR
运算符)在要替换的单词之间。
使用 sub
仅更改第一次出现,使用 gsub
更改同一字符串中的多次出现。
在 R 控制台中键入 ?gsub
以获取更多信息。
这里不需要指定要替换的颜色,它会替换R知道的任何颜色(由colors()
返回)
> col <- paste0(colors(), collapse = "|")
> gsub(col, "colour", vec)
[1] "colour" "colour" "flower" "bee"
此外,正如评论中所建议的(显然只有当元素只有颜色时才有效,因此 gsub
方法似乎更适合您的目的):
> vec[vec %in% colors()] <- "coulour"
> vec
[1] "coulour" "coulour" "flower" "bee"