gpt4 book ai didi

R如何删除字符串中的非常特殊的字符?

转载 作者:行者123 更新时间:2023-12-04 12:20:57 27 4
gpt4 key购买 nike

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

  • Remove all special characters from a string in R?
  • 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如何删除字符串中的非常特殊的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35639317/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com