在字符串检测中处理空字符串

Mat*_*ewR 5 r stringr

我想使用 str_detect 而不是将 "" 转换为另一个字符串模式。有没有一种简单的方法来处理现在生成警告的空字符串模式“”。我希望这能产生 TRUE、FALSE、FALSE、FALSE、FALSE

library( tidyverse )
str_detect('matt', c( "matt","joe","liz","", NA))
Run Code Online (Sandbox Code Playgroud)

akr*_*run 9

我们可以用

library(stringr)
library(tidyr)
str_detect(replace_na(v1, ''), 'matt')
#[1]  TRUE FALSE FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)

如果匹配的不是子字符串,那么%in%会很有用

v1 %in% 'matt'
#[1]  TRUE FALSE FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)

数据

v1 <- c( "matt","joe","liz","", NA)
Run Code Online (Sandbox Code Playgroud)


tom*_*asu 6

如果你不喜欢str_detect()也许尝试一下grepl()

grepl("matt", c( "matt","joe","liz","", NA))

#[1]  TRUE FALSE FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)