programing

grep () / gsub ()를 사용하여 정확한 일치를 찾는 방법

firstcheck 2021. 1. 18. 08:04
반응형

grep () / gsub ()를 사용하여 정확한 일치를 찾는 방법


string = c("apple", "apples", "applez")
grep("apple", string)

이것은 나에게의 세 요소 모두에 대한 색인을 제공합니다 string. 그러나 "apple"이라는 단어에 정확히 일치하는 것을 원합니다 (즉, grep()인덱스 1을 반환 하고 싶습니다 ).


\b단어와 단어가 아닌 문자 사이에 일치하는 단어 경계 사용 ,

string = c("apple", "apples", "applez")
grep("\\bapple\\b", string)
[1] 1

또는

앵커를 사용하십시오. ^우리가 시작에 있다고 주장합니다. $우리가 끝에 있다고 주장합니다.

grep("^apple$", string)
[1] 1

정규식을 변수 안에 저장 한 다음 아래와 같이 사용할 수 있습니다.

pat <- "\\bapple\\b"
grep(pat, string)
[1] 1
pat <- "^apple$"
grep(pat, string)
[1] 1

최신 정보:

paste("^",pat,"$", sep="")
[1] "^apple$"
string
[1] "apple"   "apple:s" "applez" 
pat
[1] "apple"
grep(paste("^",pat,"$", sep=""), string)
[1] 1

정확한 일치를 위해서는를 사용하는 것이 가장 합리적 ==입니다. 또한 이것은보다 빠르며 grep()분명히 훨씬 쉽습니다.

which(string == "apple")
# [1] 1

참조 URL : https://stackoverflow.com/questions/26813667/how-to-use-grep-gsub-to-find-exact-match

반응형