Je souhaite nettoyer les chaînes afin qu'elles puissent être analysées en tant que symboles juridiques uniques. J'ai l'intention de nettoyer beaucoup de chaînes, donc il y a un risque indésirable de symboles dupliqués dans la sortie. Il suffirait de prendre chaque caractère illégal et de le remplacer par son encodage de base 32. Comportement souhaité:Désinfecter des chaînes pour des symboles légaux uniques dans R
sanitize("_bad_symbol$not*a&list%$('")
## [1] "L4bad_symbolEQnotFIaEYlistEUSCQJY"
Je pense que tout ce que je besoin est une liste complète des caractères possibles pour grep
. Je sais à propos de letters
et LETTERS
, mais qu'en est-il de tout le reste?
Est-ce qu'une meilleure solution existe déjà? Parce que j'aimerais ça.
EDIT: trouvé juste à propos de de this post. Je pourrais y aller à la rigueur, mais je préférerais ne pas le faire.
* « Est-ce une meilleure solution existe déjà? Parce que j'aimerais ça. » * Semble contredire * « Je pourrais aller avec [' make.names'] dans un pincement, mais je préfère ne pas. » * Qu'est-ce qui est insatisfaisant à propos de 'make.names'? Peut-être que vous pouvez modifier le code de 'make.names' pour répondre à vos besoins? – Gregor
Vous avez raison. J'étais trop fixé sur une solution différente. Just make 'make.unique()' aussi, et 'make.unique (make.names (...))' résout vraiment le problème. – landau
'make.names()' seul introduirait des conflits. C'était le peu insatisfaisant. – landau