簡體   English   中英

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

[英]R how to remove VERY special characters in strings?

我正在嘗試刪除字符串中的一些非常特殊的字符。 我讀過其他帖子:

  1. 從R中的字符串中刪除所有特殊字符?
  2. 如何從字符串中刪除特殊字符?

但這些並不是我想要的。

讓我說我的字符串如下:

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?"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM