R如何删除字符串中非常特殊的字符? [英] R how to remove VERY special characters in strings?

查看:31
本文介绍了R如何删除字符串中非常特殊的字符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试删除字符串中的一些非常特殊的字符。 我也读过其他帖子,比如:

  1. Remove all special characters from a string in R?
  2. How to remove special characters from a string?

但这些不是我要找的。

假设我的字符串如下:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆