반응형
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
반응형
'programing' 카테고리의 다른 글
명령 줄을 사용하는 동안 CQL로 현재 타임 스탬프를 얻는 방법은 무엇입니까? (0) | 2021.01.18 |
---|---|
파이썬에서 적절한 '아무것도하지 않는'람다 식? (0) | 2021.01.18 |
사전에서 클래스 인스턴스 속성을 생성합니까? (0) | 2021.01.17 |
Chrome의 눈에 띄지 않는 유효성 검사는 dd / mm / yyyy로 유효성을 검사하지 않습니다. (0) | 2021.01.17 |
Bash : 문자열을 문자 배열로 분할 (0) | 2021.01.17 |