R如何删除字符串中非常特殊的字符? [英] R how to remove VERY special characters in strings?
本文介绍了R如何删除字符串中非常特殊的字符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试删除字符串中的一些非常特殊的字符。 我也读过其他帖子,比如:
但这些不是我要找的。
假设我的字符串如下:
s = "who are í ½í¸€ bringing?"
我尝试了以下内容:
test = tm_map(s, function(x) iconv(enc2utf8(x), sub = "byte"))
test = iconv(s, 'UTF-8', 'ASCII')
以上都不管用。
编辑: 我正在寻找一个通用的解决方案! 我不能(也不希望)手动识别所有特殊字符。
这些非常特殊的字符可能(不是100%确定)是表情符号的结果
请帮助或引导我找到正确的帖子。 谢谢!
推荐答案
因此,我将继续回答,因为我相信这就是您要找的:
> s = "who are í ½í¸€ bringing?"
> rmSpec <- "í|½|€" # The "|" designates a logical OR in regular expressions.
> s.rem <- gsub(rmSpec, "", s) # gsub replace any matches in remSpec and replace them with "".
> s.rem
[1] "who are ¸ bringing?"
现在,需要注意的是,您必须手动定义rmSpec
变量中的特殊字符。不确定您是否知道要删除哪些特殊字符,或者您是否正在寻找更通用的解决方案。
编辑:
所以看起来您几乎用iconv
解决了问题,只是错过了sub
参数。见下图:
> s
[1] "who are í ½í¸€ bringing?"
> s2 <- iconv(s, "UTF-8", "ASCII", sub = "")
> s2
[1] "who are bringing?"
这篇关于R如何删除字符串中非常特殊的字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文