2017-09-25 12 views
0

문자열 목록에서 단어를 찾아 대신 내가 얻을 수있는 방법과 일치 한 정확한 단어는 대답이 될 것 있도록내가 <code>sapply(words, grepl, text)</code> 당신이 TRUE 및 FALSE에 답변을 제공합니다 사용하는 경우 내가</p> <pre><code>words <- c("word1", "word") text <- c("this is word1", "this is word2", "this is word4") </code></pre> <p>이

"this is word1" 

나는 바보 같은 질문에 대해 R Pardon에게 신입입니다. 모든 아이디어를 환영합니다.

+2

'sapply (즉, 그렙, 텍스트의 문자열을 반환, 단어 경계를 만든 다음 문자열과 value = TRUE 어떤 부분 일치를 방지하기 위해 grep를 사용하는 것 value = TRUE)'? – Jaap

답변

1

하나의 옵션은, 대신 인덱스

grep(paste0("\\b(", paste(words, collapse="|"), ")\\b"), text, value = TRUE) 
#[1] "this is word1" 
+1

word = "test" text = c ("test foo", "word 1", "word2") grep ("\\ b" "붙여 넣기 (단어, 축소 ="| "),") \\ b "), text, value = TRUE)."test foo "를 제공하지만, 답변이 없거나 null이 필요하지 않기를 바란다. – Domnick

+1

@Domnick 당신의 상태가 나에게 명확하지 않습니다. 정확히 일치하는 단어를 찾으려면'=='또는'% in %'즉'which (word == text)' – akrun

+0

을 사용하십시오. 호기심에서 벗어나서 그 반대의 경우도 가능합니다. 일치하면, * words * 변수에서 매치 된 단어를 얻을 수 있습니까? – Domnick