2011-11-06 22 views
9

Ecco una stringa di query che uso per collegare in un modulo:Codifica una stringa di query in R

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

e qui è la stringa risultante che viene passata al sito:

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

So che R è un linguaggio molto potente. Ci sono funzioni che potrebbero essere codificate per me? Immagino di poter scrivere una funzione per simulare questa uscita, ma non volevo reinventare la ruota.

Qualsiasi aiuto sarà molto apprezzato.

risposta

15

curlEscape nel pacchetto RCurl fa ciò che si vuole:

> 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

Un'altra opzione è la funzione URLencode() che fa parte del pacchetto base 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" 

Basta essere sicuri di impostare reserved=TRUE se vuoi che anche tutta la punteggiatura sia codificata.

Problemi correlati