我正在尝试删除字符串中的一些非常特殊的字符。
我读过其他帖子,例如:
- 从 R 中的字符串中删除所有特殊字符? https://stackoverflow.com/questions/10294284/remove-all-special-characters-from-a-string-in-r
- 如何从字符串中删除特殊字符? https://stackoverflow.com/questions/7552253/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')
以上都不起作用。
edit:我正在寻找通用解决方案!
我无法(也不喜欢)手动识别所有特殊字符。
这些非常特殊的字符也可能(不是 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
多变的。不确定您是否知道要删除哪些特殊字符,或者您是否正在寻找更通用的解决方案。
EDIT:
看来你几乎已经受够了iconv
,你只是错过了sub
争论。见下文:
> s
[1] "who are í ½í¸€ bringing?"
> s2 <- iconv(s, "UTF-8", "ASCII", sub = "")
> s2
[1] "who are bringing?"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)