2016-04-06 3 views
1

Я попытался запустить код, как показано ниже. Интересно, почему функция gsub не работала над этим вводом. Кто-нибудь знает, почему и как справиться с этим делом?R, gsub не работает

> text 

[1] <a href="https://itunes.apple.com/us/app/ubersocial-for-twitter/id396050119 mt=8&uo=4" rel="nofollow">UberSocial for Twitter on iOS</a> 
65 Levels: <a href="http://aktualpost.com" rel="nofollow">Aktualpost</a> ... 
> start = as.numeric(regexpr(">",text)[[1]])+1 
> start 
[1] 103 
> to_cut = substr(text,1,start-1) 
> to_cut 
[1] "<a href=\"https://itunes.apple.com/us/app/ubersocial-for-twitter/id396050119?mt=8&uo=4\" rel=\"nofollow\">" 
> new_text = gsub(to_cut,"",as.character(text)) 
> new_text 
[1] "<a href=\"https://itunes.apple.com/us/app/ubersocial-for-twitter/id396050119?mt=8&uo=4\" rel=\"nofollow\">UberSocial for Twitter on iOS</a>" 
+0

является фактором. Сначала преобразуйте его в символ: 'as.character (text)' – jogo

+1

Это потому, что есть '?', Который не совпадает с 'text' – akrun

+0

Это нехорошее название для вопроса. –

ответ

1

Существует в "to_cut", который не встречается в "тексте" ?. Если мы исправим это, он должен работать, то есть проверить ?mt в «to_cut» и mt в «тексте».

gsub("^<a href=\"https://itunes.apple.com/us/app/ubersocial-for-twitter/id396050119 mt=8&uo=4\" rel=\"nofollow\">(.*)", "\\1", text) 
#[1] "UberSocial for Twitter on iOS</a>" 

Не ясно, как OP получил "to_cut" с `Text` ?

start = as.numeric(regexpr(">",text)[[1]])+1 
to_cut <-substr(text,1,start-1) 
to_cut 
#[1] "<a href=\"https://itunes.apple.com/us/app/ubersocial-for-twitter/id396050119 mt=8&uo=4\" rel=\"nofollow\">" 
gsub(to_cut, "", text) 
#[1] "UberSocial for Twitter on iOS</a>"