除了R中的指定字符外,我如何gsub()除了?
在我的问题中,我有以下字符串...
"the quick brown fox jumps over a lazy dog"
Run Code Online (Sandbox Code Playgroud)
我必须通过删除除'r'和'o'之外的所有字符来生成一个新字符串,并获得以下输出...
"roooro"
Run Code Online (Sandbox Code Playgroud)
假设所有字符都是小写的,我该如何处理.我试过了...
gsub(!"r","",gsub(!"o","",str1))
Run Code Online (Sandbox Code Playgroud)
但是'!' 不起作用.
我们需要在^里面使用[来匹配除了之外的所有字符ro.这里,[^ro]+暗示匹配一个或多个不是'r'或'o'的字符,并用blank("")替换它.
gsub("[^ro]+", "", str1)
#[1] "roooro"
Run Code Online (Sandbox Code Playgroud)
如果我们有一个值向量,我们可以创建模式 paste
v1 <- c("r", "o")
gsub(paste0("[^", paste(v1, collapse=""), "]+"), "", str1)
#[1] "roooro"
Run Code Online (Sandbox Code Playgroud)