2017-06-13 5 views
2

Le paquet stringr fournit de bonnes fonctions de chaîne.R: Comment ignorer le cas lors de l'utilisation de str_detect?

Pour rechercher une chaîne (en ignorant la casse)

on pourrait utiliser

stringr::str_detect('TOYOTA subaru',ignore.case('toyota')) 

Cela fonctionne, mais avertit

S'il vous plaît utiliser (fixe | coll | regex) (x, ignore_case = TRUE) au lieu d'ignorer.case (x)

Quelle est la bonne y de le réécrire?

+0

considèrent comme un utilisateur qui préfère éviter la magie regex – userJT

Répondre

4

Vous pouvez utiliser regex (ou fix comme @ commentaires de lmo en fonction de ce que vous avez besoin) fonction pour le modèle comme détaillé dans modificateurs ou de str_detect (voir l'instruction pour le paramètre de configuration):?

library(stringr) 
str_detect('TOYOTA subaru', regex('toyota', ignore_case = T)) 
# [1] TRUE 
+1

ou en utilisant 'fixed':' str_detect ('TOYOTA subaru', corrigé ('toyota', ignore_case = TRUE)) '. – lmo

1

la chaîne de recherche doit être fonction à l'intérieur fixed et que la fonction a paramètre valide ignore_case

str_detect('TOYOTA subaru', fixed('toyota', ignore_case=TRUE))