當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R stringr str_detect 檢測是否存在匹配


對於 string 中與 patternFALSE 匹配的每個元素,str_detect() 返回一個帶有 TRUE 的邏輯向量。它相當於grepl(pattern, string)

用法

str_detect(string, pattern, negate = FALSE)

參數

string

輸入向量。或者是一個字符向量,或者是可強製轉換為一個的東西。

pattern

要尋找的模式。

默認解釋是正則表達式,如 vignette("regular-expressions") 中所述。使用regex() 可以更好地控製匹配行為。

使用 fixed() 匹配固定字符串(即僅比較字節)。這很快,但是是近似值。一般來說,為了匹配人類文本,您需要coll(),它尊重指定區域設置的字符匹配規則。

將字符、單詞、行和句子邊界與 boundary() 匹配。空模式“”相當於 boundary("character")

negate

如果 TRUE ,則返回不匹配的元素。

string /pattern 長度相同的邏輯向量。

也可以看看

該函數包裝的 stringi::stri_detect()str_subset() 用於 x[str_detect(x, pattern)] 的方便包裝

例子

fruit <- c("apple", "banana", "pear", "pineapple")
str_detect(fruit, "a")
#> [1] TRUE TRUE TRUE TRUE
str_detect(fruit, "^a")
#> [1]  TRUE FALSE FALSE FALSE
str_detect(fruit, "a$")
#> [1] FALSE  TRUE FALSE FALSE
str_detect(fruit, "b")
#> [1] FALSE  TRUE FALSE FALSE
str_detect(fruit, "[aeiou]")
#> [1] TRUE TRUE TRUE TRUE

# Also vectorised over pattern
str_detect("aecfg", letters)
#>  [1]  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE
#> [12] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [23] FALSE FALSE FALSE FALSE

# Returns TRUE if the pattern do NOT match
str_detect(fruit, "^p", negate = TRUE)
#> [1]  TRUE  TRUE FALSE FALSE
源代碼:R/detect.R

相關用法


注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Detect the presence/absence of a match。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。