2015-11-06 29 views
0

我有一個名爲'full_url'的數據框。該列的每個元素都只是一個url。如何編寫一個函數來一次刪除所有元素中的'http://'?我需要使用某種正則表達式,因爲有些根本沒有它,一些有https等。最接近我得到的是gsub(".*//","",unlist(full_url))在數據幀列上執行子字符串提取

但也返回'full_url1''full_url2''full_url3'。 ..作爲行名稱由於某種原因

回答

0

沒有一個可重複的例子我不知道,但會像這樣的工作?

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

因此,使用apply來通過row和substr來查找前7個字符是否爲「http://」。如果他們在沒有http的情況下被替換,並且他們不是,那麼只需要用x替換。

+0

'substr'已被矢量化,不需要逐行應用。你可以完全避免使用'apply'包裝器。 – thelatemail