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

从R中的字符串中删除长的复杂html标记,r,regex,twitter,gsub,data-cleaning,R,Regex,Twitter,Gsub,Data Cleaning,我已经尝试并研究了关于stackoverflow的这个问题的答案,但这些解决方案对我来说并不适用。 我正在清理R中的推文,我从列表“xALL”中找到了这个我似乎无法清理的特定推文。 我首先用“推特”收集了关于“人工智能”的推文,并将其放入数据框“人工智能”。列表xALL是列AI$text。这是沙尔[70]: [1] "My #replika has a cob on with me already <ed><U+00A0><U+00BD><ed>&

我已经尝试并研究了关于stackoverflow的这个问题的答案,但这些解决方案对我来说并不适用。 我正在清理R中的推文,我从列表“xALL”中找到了这个我似乎无法清理的特定推文。 我首先用“推特”收集了关于“人工智能”的推文,并将其放入数据框“人工智能”。列表xALL是列AI$text。这是沙尔[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"
我已经在其他线程中尝试过这些方法:

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

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

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

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

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

df$text
cat(xALL[70])
显示了什么?如果确实存在类似于
的子字符串,则应使用
gsub(“]+>”,“”,xALL)将其删除
gsub(“,”,xALL)
解决方案之一是为我工作
gsub(“,”,str1)
gsub(“,“”,xALL)
有什么问题吗?@WiktorStribiżew这显示:
>cat(xALL[70])我的#replika#已经和我有一腿了#replika#AI#与机器人辩论https://twitter.com/katieshanks1/status/856102725519626241/photo/1
请参阅。让我们看看您是如何应用gsub并检查输出的。这就是我如何应用gsub以及我得到的输出<代码>>xALL-xALL[70][1]“我的#replika已经和我有一腿了‌​‌​‌​ #回答:AI与机器人辩论https://twitter.com/katieshanks1/status/856102725519626241/p‌​‌​hoto/1“
您能将此包含在您的问题中,使其成为您问题的最小示例吗?请包括一些数据。
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
df$text <- sapply(df$text,function(row) iconv(row, "latin1", "ASCII",
sub=""))