J'essaie de supprimer tous les champs qui ont des caractères spéciaux (@?.*
etc) dans leur texte.Supprimer des champs avec des caractères spéciaux
Je pense que je devrais utiliser
Filter(function(x) {grepl('|[^[:punct:]]).*?', x)} == FALSE, data$V1)
où data$V1
contient mes données. Cependant, il semble que
grepl('|[^[:punct:]]).*?', x)
échoue avec des exemples triviaux comme
grepl('|[^[:punct:]]).*?', 'M')
qui délivre TRUE
même si M
n'a pas de caractères spéciaux. Comment dois-je utiliser grepl
pour supprimer des champs avec des caractères spéciaux d'une colonne de données?
Retirez le départ '|'? –
'grepl ('[^ [: alnum:] _] +', c ('m', 'm @', 'M9 *'))' ou 'grepl ('\\ W +', c ('m' , 'm @', 'M9 *')) 'comme le montre l'expression rationnelle help:" Le symbole '\ w 'correspond à un caractère' word '(un synonyme de' [[: alnum:] _] ', un extension) et '\ W' est sa négation' ([^ [: alnum:] _]) '." –