grepl for a period "." in R?

marc picture marc · Oct 24, 2013 · Viewed 14.8k times · Source

Lets say I have a string "Hello." I want to see if this string contains a period:

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

This returns results as TRUE, but it would return that as well if text is "Hello" without the period.

I'm confused, I can't find anything about this in the documentation and it only does this for the period.

Any ideas?

Answer

Jilber Urbina picture Jilber Urbina · Oct 24, 2013

See the differences with these examples

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

the . means anything as pointed out by SimonO101, if you want to look for an explicit . then you have to skip it by using \\. which means look for a .

R documentation is extensive on regular expressions, you can also take a look at this link to understand the use of the dot.