2016-09-22 4 views
0

다음은 내 코드의 일부로 볼 수 있듯이 문자 및 일부 메타 문자 문자열을 제거하려고합니다. 이 대체품을 한 줄에 넣을 수있는 방법이 있습니까? 나는 단어 기능 후에 open과 close parethesis에 대한 기호를 쓰려고했지만 작동하지 않는다.여러 문자 대체 R

{ 

    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

재현 할 수있는 예제로 만들 수 있습니까? 데이터를 dput() 할 수 있습니다. –

답변

0

gsub은 정규 표현식을 사용할 수 있습니다. 그래서 당신은 같은 것을 쓸 수있다 :

x <- "some_func function()" 
gsub("function|\\s|\\(|\\)", "", x) 

[1] "some_func" 

을 또는 제거하는 일의 벡터가있는 경우 :

to_remove <- c("function", "\\s", "\\(", "\\)") 
gsub(paste(to_remove, collapse = "|"), "", x) 
+0

도움을 주셔서 감사합니다! – CoEstud

0

어쩌면 한 줄 솔루션을하지만,이 같은 코드를 단순화 할 수 있습니다 :

listToReplace <- c("function", "\\(", "\\s") 

string <- "function.... ...BBB((BBBB" 

gsub(paste(listToReplace,collapse="|"), "",  string)