首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从R中的字符串中删除长而复杂的html标记

从R中的字符串中删除长而复杂的html标记
EN

Stack Overflow用户
提问于 2017-04-23 21:58:02
回答 2查看 749关注 0票数 0

我已经在stackoverflow上尝试和研究了这个问题的答案,但解决方案对我来说不起作用。我正在清理R中的tweet,我有一个来自列表"xALL“的特定tweet,我似乎无法清理它。我首先收集了关于"AI“的带有"twitteR”的推文,并将它们放入一个数据帧"ai“中。列表文本是列AI$ xALL。这是xALL70:

代码语言:javascript
复制
[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标签?

结果应该如下所示:

代码语言:javascript
复制
[1] "My #replika has a cob on with me already
#replika #AI #arguingwithrobots https://twitter.com/katieshanks1/status/856102725519626241/photo/1"

我已经按照其他帖子中的建议尝试过了:

代码语言:javascript
复制
xALL <- gsub("<.*>", "",xALL)
xALL <- gsub("<(.*)>", "",xALL)
xALL <- gsub("<[^>]+>", "", xALL)
xALL <- gsub("<.*?>", "",xALL)

每次我再次查看这条特定的推文以验证上面的解决方案是否有效时,它都没有改变。

以下是我从一开始就运行的所有命令,以获取更多上下文:

代码语言:javascript
复制
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

这可能是一个正则表达式错误。我必须承认,我在这个主题上是一个绝对的初学者。非常感谢您的支持!

EN

回答 2

Stack Overflow用户

发布于 2017-04-24 00:08:26

好的我知道了。问题是,推文实际上使用了R无法读取的表情符号,它们显示在这些标签中。所以我的gsub对他们不起作用。

在线程Emoticons in Twitter Sentiment Analysis in r中找到的这段代码(当然适用于我的上下文)解决了我的问题。这不是一个正则表达式问题,但我在询问时并没有认识到它。

代码语言:javascript
复制
df$text <- sapply(df$text,function(row) iconv(row, "latin1", "ASCII",
sub=""))

应用此命令后,gsub将按照指定的方式工作。谢谢您一直鼓励我!

票数 0
EN

Stack Overflow用户

发布于 2017-04-23 22:09:33

您的第一个和第三个正则表达式工作正常。你可能应该发布更多的上下文信息。也许你把一些变量搞混了,或者别的什么。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43572086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档