2017-02-01 2 views
0

I ont 2 vecteurs de caractères:Grepl() - correspondance de chaîne partielle après un symbole

Long <- c("[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]") 
Short <- c("NHL1", "NHL3", "NHL6", "NHL5") 

Je dois vérifier que les chaînes de vecteur longues chaînes correspondent en partie à partir du vecteur court, à partir de @ symbole. J'ai besoin d'un vecteur logique.

Je pense que je dois utiliser grepl() fonction, quelque chose comme ceci:

sapply(Long, function(x) grepl(x, paste(Short, collapse = ""))) 

Je ne sais pas quoi utiliser comme modèle en fonction grepl() ou s'il n'y a aucun argument pour commencer correspondant après un symbole .

+1

'Grepl (pâte (Short, effondrement = '|'), Long)' devrait le faire imo – Jaap

+1

une autre option: 'gsub ('. * @', '', Long)% in% Short' – Jaap

Répondre