在数据帧列上执行子字符串提取

时间:2015-11-06 00:26:53

标签: regex r

我有一个名为'full_url'的1列数据框。该列的每个元素都只是一个URL。如何编写一个函数来立即从所有元素中删除'http://'?我需要使用某种正则表达式,因为有些人根本没有它,有些人有https,等等。我得到的最接近的是gsub(".*//","",unlist(full_url))

但是这也会返回'full_url1''full_url2''full_url3'...因为某些原因的行名称

1 个答案:

答案 0 :(得分:0)

如果没有一个可重复的例子我不确定,但这样的工作会不会有效?

apply(df$full_url, 1, function(x) ifelse(substr(x,1,7) == "http://", substr(x,8,length(x)),x)

因此,使用apply to by row和substr来查找前7个字符是" http://"。如果他们在没有http的情况下被替换,并且如果他们不再用x替换。