从R中的字符串中删除长复杂的HTML标签



我已经尝试并研究了该问题的答案,但解决方案对我不起作用。我正在清洁R中的推文,并且我从" Xall"列表中获得了我似乎无法清洁的特定推文。我首先收集了有关" AI"的" Twitter"推文,并将它们放入数据框" AI"中。列表XALL是AI $ $文本。这是Xall [70]:

[1] "My #replika has a cob on with me already <ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082>
#replika #AI #arguingwithrobots https://twitter.com/katieshanks1/status/856102725519626241/photo/1"

我如何摆脱这些HTML标签?

结果应该像这样:

[1] "My #replika has a cob on with me already
#replika #AI #arguingwithrobots https://twitter.com/katieshanks1/status/856102725519626241/photo/1"

我已经在其他线程中尝试了这些:

xALL <- gsub("<.*>", "",xALL)
xALL <- gsub("<(.*)>", "",xALL)
xALL <- gsub("<[^>]+>", "", xALL)
xALL <- gsub("<.*?>", "",xALL)

每次我再次查看此特定推文以验证上述任何解决方案是否有效,都不会改变。

这是我从一开始就跑到更多上下文的所有命令:

setup_twitter_oauth(consumer_key,consumer_secret,access_token,access_secret)
AItweets <- searchTwitter('#ai',lang="en", n=250)
AI <- twListToDF(AItweets)
AI$text <- as.character(AI$text)
xALL <- AI$text

这可能是一个正则错误。我必须承认我是这个话题的绝对初学者。非常感谢您的支持!

好吧,我明白了。问题在于,这些推文实际上使用了对R无法读取的表情符,并且在这些标签中显示了它们。所以我的gsub不适合它们。

在Twitter情感分析中,在此线程表情符中发现了此代码(当然应用于我的上下文(。解决了我的问题。这不是正则问题,但我在询问时没有认识到它。

df$text <- sapply(df$text,function(row) iconv(row, "latin1", "ASCII",
sub=""))

应用此过程后,GSUB如图所示。谢谢您的支持!

您的第一个和第三条正则效果很好。您可能应该发布更多上下文。也许您将一些变量混合在一起。

最新更新