除了R?
中的指定字符外,我如何gsub()所有内容?在我的问题中,我有以下字符串......
"the quick brown fox jumps over a lazy dog"
我必须通过删除除“' r'之外的所有字符来生成新字符串。和' o'并得到以下输出...
"roooro"
假设所有字符均为小写,我该如何处理。我试过......
gsub(!"r","",gsub(!"o","",str1))
但是'!'不起作用。
答案 0 :(得分:8)
我们需要在^
内使用[
来匹配除ro
之外的所有字符。在这里,[^ro]+
意味着匹配一个或多个不是'r'或'o'的字符,并将其替换为空白(""
)。
gsub("[^ro]+", "", str1)
#[1] "roooro"
如果我们有一个值向量,我们可以使用paste
v1 <- c("r", "o")
gsub(paste0("[^", paste(v1, collapse=""), "]+"), "", str1)
#[1] "roooro"