2013-10-29 4 views
8

임의 문자 이름의 문자 벡터가 있다고 가정 해 봅니다. 나는 또한 많은 자동차 제작자가있는 또 다른 캐릭터 벡터를 가지고 있으며, 원래의 벡터에서 자동차 사고의 발생을 제거하고 싶습니다.문자 벡터에서 단어 그룹 제거

그래서 주어진 벡터 : 나는 다음과 같은 것을 끝낼 할

dat = c("Tonyhonda","DaveFord","Alextoyota") 
car = c("Honda","Ford","Toyota","honda","ford","toyota") 

:

dat = c("Tony","Dave","Alex") 

가 어떻게 R 문자열의 일부를 제거 할 수 있습니까?

+3

왜 이것이 가까운 표를 얻었는지 잘 모르겠습니다. 특히 새로운 SO 인에게 이유를 설명하기 위해 투표를 할 때 도움이됩니다. 투표자와상의하지 않는 이유는 무엇입니까? –

+4

대문자와 소문자 패턴을 모두 피하고 Codoremifa의 대답을 사용하려면'gsub' 호출에서 ignore.case = TRUE를 사용하십시오. –

답변

15
gsub(x = dat, pattern = paste(car, collapse = "|"), replacement = "") 
[1] "Tony" "Dave" "Alex" 
1

위의 42 개 주석을 공식화하면됩니다. 오히려

car = c("Honda","Ford","Toyota","honda","ford","toyota") 

당신은 바로 사용할 수 있습니다 사용하는 것보다 : 단지 당신이 목록을 한 번에 제외 할 각 단어를 넣어 당신을 수 있습니다

carlist = c("Honda","Ford","Toyota") 

gsub(x = dat, pattern = paste(car, collapse = "|"), replacement = "", ignore.case = TRUE) 
[1] "Tony" "Dave" "Alex" 

.