2011-11-06 4 views
9

Voici une chaîne de requête que j'utiliser pour brancher un formulaire:Encode une chaîne de requête dans R

team,site,week,day,date,o:team,line,points,o:[email protected]=2011 

et est ici la chaîne résultante qui est passé sur le site:

team%2Csite%2Cweek%2Cday%2Cdate%2Co%3Ateam%2Cline%2Cpoints%2Co%3Apoints%40season%3D2011 

Je sais que R est un langage très puissant. Y a-t-il des fonctions qui encoderaient cela pour moi? Je pense que je pourrais écrire une fonction pour imiter cette sortie, mais je ne voulais pas réinventer la roue.

Toute aide sera grandement appréciée.

Répondre

15

curlEscape dans le paquet RCurl fait ce que vous voulez:

> library(RCurl) 
Loading required package: bitops 
> curlEscape("team,site,week,day,date,o:team,line,points,o:[email protected]=2011") 
[1] "team%2Csite%2Cweek%2Cday%2Cdate%2Co%3Ateam%2Cline%2Cpoints%2Co%3Apoints%40season%3D2011" 
0

Une autre option est la fonction URLencode() qui fait partie de la base package utils:

> URLencode('team,site,week,day,date,o:team,line,points,o:[email protected]=2011', reserved=TRUE) 
[1] "team%2Csite%2Cweek%2Cday%2Cdate%2Co%3Ateam%2Cline%2Cpoints%2Co%3Apoints%40season%3D2011" 

Assurez-vous de mettre reserved=TRUE si vous veulent que toute la ponctuation soit également encodée.