grepl для периода "." в R?
Допустим, у меня есть строка "Привет". Я хочу посмотреть, если эта строка содержит точку:
text <- "Hello."
results <- grepl(".", text)
Это возвращает результаты как ИСТИНА, но оно также вернет это, если текст "Hello"
без точки.
Я в замешательстве, я не могу найти ничего об этом в документации, и он делает это только за период.
Есть идеи?
Ответы
Ответ 1
См. различия с этими примерами
> grepl("\\.", "Hello.")
[1] TRUE
> grepl("\\.", "Hello")
[1] FALSE
.
означает все, что указано SimonO101, если вы хотите найти явный .
, тогда вам нужно пропустить его, используя \\.
, что означает поиск .
Документация R обширна в регулярных выражениях, вы также можете взглянуть на эту ссылку, чтобы понять использование точки.
Ответ 2
Я обычно использую подход Jilber, но здесь есть два других способа:
> grepl("[.]", "Hello.")
[1] TRUE
> grepl("[.]", "Hello")
[1] FALSE
> grepl(".", "Hello.", fixed = TRUE)
[1] TRUE
> grepl(".", "Hello", fixed = TRUE)
[1] FALSE