我想使用R在Twitter帖子上执行一些分析,例如唐纳德特朗普的推文(通过Twitter API提取):
"Join me LIVE in South Korea\U0001f1fa\U0001f1f8\U0001f1f0\U0001f1f7\n#NationalAssembly #POTUSinAsia"
首先我想知道这些是否是一个正则表达式,我可以用它来选择转义的unicode(例如:\U0001f1f8
)。
我认为表达式会起作用,例如:\\[[:alnum:]]{9}
不起作用。然而,我收到了一条有趣的错误消息:
grepl中的错误(" \ [[:alnum:]] {9}",x,perl = T):无效的常规 表达' [[:alnum:]] {9}'另外:警告信息:在 grepl(" \ [[:alnum:]] {9}",x,perl = T):PCRE模式编译 错误' POSIX命名类仅在类中受支持'在 ' [:alnum:]] {9}'
另外,我想知道是否有一种方法可以将这些转义的unicode转换回它们应该代表的字符,这样我就可以在应用程序的前端向用户显示它们。
答案 0 :(得分:2)
您可以使用iconv
执行此操作。这将删除包含外部Unicode字符的所有非ASCII字符。
teststring <- "Join me LIVE in South Korea\U0001f1fa\U0001f1f8\U0001f1f0\U0001f1f7\n#NationalAssembly #POTUSinAsia"
iconv(teststring, "latin1", "ASCII", sub="")
#[1] "Join me LIVE in South Korea\n#NationalAssembly #POTUSinAsia"