2013-10-24 2 views
9

"Hello"문자열이 있다고 가정 해 보겠습니다. 텍스트가 "안녕하세요"입니다뿐만 아니라 경우가 TRUE로 결과를 반환Grepl의 기간 동안 Grepl?

text <- "Hello." 
results <- grepl(".",text) 

하지만, 반환 :이 문자열이 기간이 포함 된 경우보고 싶어요. 나는 매우 혼란 스럽다. 나는 문서에서 이것에 관해서 아무 것도 찾을 수 없다.

아이디어가 있으십니까?

감사합니다.

+6

''* 모든 * 문자입니다 ".". ***아무것도***. 당신은''\\. ''을 의미했습니다. –

+5

Au contraire! 이 문서는'grepl'이 정규 표현식을 사용하는 방법을 기술하는데 엄청난 시간을 소비합니다.'.'는 특수 문자입니다. 문서에는 정규 표현식에 대한 섹션과 링크가 있으며, 'fixed = TRUE'를 설정하면 정규 표현식을 사용하지 않고 정확한 일치를 수행하는 방법에 대한 많은 논의가 있습니다. – joran

+0

Spot on. @ 죠란, 패턴 일치 (Pattern Matchin) 및 대체 텍스트에서 보지 못하기 때문에 빗 맞춰야합니다. – marc

답변

15

는 당신이 찾는 의미 \\.를 사용하여 건너가 SimonO101 지적대로 명시 적 . 찾고 싶을 경우

> grepl("\\.", "Hello.") 
[1] TRUE 
> grepl("\\.", "Hello") 
[1] FALSE 

.는 아무것도 의미 이러한 예와의 차이점을 참조하십시오 .

R 정규식에는 문서가 광범위하므로 도트의 사용법을 이해하려면 this link을 살펴볼 수도 있습니다.

9

나는 두 가지 다른 방법을 일반적으로 Jilber의 접근 방식을 사용하지만 현재 위치 :

> grepl("[.]", "Hello.") 
[1] TRUE 
> grepl("[.]", "Hello") 
[1] FALSE 

> grepl(".", "Hello.", fixed = TRUE) 
[1] TRUE 
> grepl(".", "Hello", fixed = TRUE) 
[1] FALSE 
관련 문제