2011-11-06 16 views
9

Aquí es una cadena de consulta que utilizo para conectarlo a un formulario:codificar una cadena de consulta en I

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

y aquí está la cadena resultante que se pasa a la página web:

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

Sé que R es un lenguaje muy poderoso. ¿Hay alguna función que pueda codificar esto para mí? Me imagino que podría escribir una función para imitar esta salida, pero no quería reinventar la rueda.

Cualquier ayuda será muy apreciada.

Respuesta

15

curlEscape en el paquete RCurl hace lo que quiere:

> 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

Otra opción es la función URLencode() que es parte del paquete de 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" 

Sólo asegúrese de ajustar reserved=TRUE si quiere que toda la puntuación sea codificada también.

Cuestiones relacionadas