假设您有一个包含URL编码字符串的原子向量。
例如:
urlencoded<-c("im%20looking%20for%20uncle","im%20looking%20for%20sister")
有没有办法解码向量中的每个元素,返回与常规文本相同长度的向量?
换句话说,输出应该是:
c("im looking for uncle","im looking for sister")
基础R中的URLdecode没有矢量化,而且速度很慢。 R之外有很多实用程序可以快速解码URL编码的字符串,但我在R中找不到任何好的实用程序。
答案 0 :(得分:2)
您可以将函数应用于sapply
的矢量。它将返回结果向量:
> urlencoded <- c("im%20looking%20for%20uncle", "im%20looking%20for%20sister")
> sapply(urlencoded, URLdecode, USE.NAMES = FALSE)
[1] "im looking for uncle" "im looking for sister"
答案 1 :(得分:1)
对于那些还不知道的人来说,urltools
包含了矢量化url_decode
和url_encode
:
library(urltools)
urlencoded <- c("im%20looking%20for%20uncle","im%20looking%20for%20sister")
url_decode(urlencoded)
# [1] "im looking for uncle" "im looking for sister"
url_encode(c("im looking for uncle", "im looking for sister"))
# [1] "im%20looking%20for%20uncle" "im%20looking%20for%20sister"