以下是我的代码的一部分,正如您所看到的,我正在尝试删除字符串和一些元字符。有没有办法可以在一行中完成这个替换?我尝试在单词功能之后编写用于打开和关闭parethesis的符号,但它不起作用。
{
P1 <- gsub("function", "", deparse(s)[1]); #removing the word "function"
P2 <- gsub("\\(", "", P1); #removing open parenthesis
P3 <- gsub("\\)", "", P2); #removing the close parenthesis
P4 <- gsub("\\s", "", P3); #removing spaces
variables <- strsplit(P4,","); #separating the variables
}
答案 0 :(得分:0)
gsub
可以使用正则表达式。所以你可以这样写:
x <- "some_func function()"
gsub("function|\\s|\\(|\\)", "", x)
[1] "some_func"
或者如果你有一个要删除的东西:
to_remove <- c("function", "\\s", "\\(", "\\)")
gsub(paste(to_remove, collapse = "|"), "", x)
答案 1 :(得分:0)
也许不是一行解决方案,但你可以像这样简化代码:
listToReplace <- c("function", "\\(", "\\s")
string <- "function.... ...BBB((BBBB"
gsub(paste(listToReplace,collapse="|"), "", string)