我有一个包含链接地址的字符串url。我想检查一下它是不是非www。如果是,则将其更改为www链接,而不导入外部包。
来自
[1] "http://yyyyy.com/xxxx"
到
[1] "http://www.yyyyy.com/xxxx"
答案 0 :(得分:1)
s<-c("http://yyyyy.com/xxxx", "http://www.aaaaaa.com/xxxx")
gsub('(?<=:)(//)(?!www)','\\1www.',s,perl=T)
[1] "http://www.yyyyy.com/xxxx" "http://www.aaaaaa.com/xxxx"
答案 1 :(得分:0)
这个怎么样?
s<-"http://yyyyy.com/xxxx"
s<-ifelse(grepl("www",s),s,gsub("http://","http://www.",s))
s
grepl("www",s)
检查“www”是否是s的一部分
如果是真的,那么什么也不做。如果为false,请使用gsub("http://","http://www.",s)
将“http://”替换为“http://www”。在s
。
答案 2 :(得分:0)
您也可以考虑使用gsubfn
:
my_urls <- c("http://yyyyy.com/xxxx", "http://www.aaaaaa.com/xxxx")
require(gsubfn)
gsubfn(pattern = "http://[^www]", x = my_urls,
replacement = function(x) gsub("http://","http://www.",x))
[^www]
将匹配没有http://
的所有www
前缀,并将结果传递给将修改获取的字符串的gsubfn
。哪个会给你:
[1] "http://www.yyyyy.com/xxxx" "http://www.aaaaaa.com/xxxx"