如何编辑字符串中的隐藏字符

How to edit hidden character in String

运行RStudio Source Editor 中 "textparcali" 的表现如下。

在 textparcali (tbl_df) 中,我 运行 以下代码删除单个字符串。

textparcali$word<-gsub("\W*\b\w\b\W*",'', textparcali$word)

但是删除很有趣。你可以看到下面的图片。请注意第 67 和 50 行。

第 50 行和类似的行一切正常。但是,第 67 行不是这种情况(我认为还有其他类似的情况)。 我专注于一行(67)来理解为什么你把它删错了。我已经在编辑器的这一行看到了它所说的内容。但我也想看看控制台。我在控制台写了下面的代码。

textparcali$word[67]

第 67 行的字在控制台中看起来不同。复制粘贴时没有出现,控制台却意外出现的值:

之所以放成图片是因为这个字符在复制粘贴命令后就消失了。 您可以从下面的 link 下载包含此字符的文件。但是,您应该使用 Notepad++ 打开它。 Character.txt

Gsub 做对了。这怎么可能?这个角色的名字是什么?当我尝试编写破坏此字符的代码时," 符号会更改并且不会删除。

textparcali$word<-gsub('[[:punct:]]+',' ',textparcali$word) 命令也不起作用。

我的经历怎么解释?我不知道。有没有办法摧毁这个角色?是什么原因造成的?我问了很多。

谢谢大家。 (对于图片中的错误涂鸦,我深表歉意。)

我找到了惊喜角色。

Above Right, Combining Dot  &#x0358;    ͘

以下是消除该字符所需的代码。

c<-"surprise character"
c [1] "\u0358"

textparcali$word<-gsub("\u0358","",textparcali$word,ignore.case = FALSE)
textparcali$word<-gsub("\u307","",textparcali$word,ignore.case = FALSE)

代码 307 帮我完成了这项工作。但是,您应该确定实际代码是什么。否则,您的字符代码可能不正确。

可以在下面的链接中找到更详细的信息。

https://gist.github.com/ngs/2782436
https://www.charbase.com/0358-unicode-combining-dot-above-right

非常感谢!