r - 从字符串中删除Unicode替换字符

时间:2017-03-06 12:57:27

标签: r regex unicode

我有一个数亿行的数据集,其中大约有10行具有某种Unicode替换字符。该特定字符的文本表示是"< U + FFFD>" (删除空格),但也有其他的。

我想删除这个角色,但我无法想出办法。

str <- "торгово производственн��я компания"
gsub("<U+FFFD>", "", str)
"торгово производственн��я компания"

如果我需要提供任何其他信息,请告诉我。此外,我将非常感谢解释这里究竟发生了什么(正如为什么正常的gsub无法正常工作以及为什么它会像这样显示)

1 个答案:

答案 0 :(得分:2)

您正在使用带有正则表达式的gsub函数作为第一个参数。 <U+FFFD>模式匹配<,一个或多个U符号,然后匹配FFFD>个字符序列。

它会像这样工作:

> str2 <- "торгово <UUUFFFD> производственн��я компания"
> gsub("<U+FFFD>", "", str2)
[1] "торгово  производственн��я компания"

仅使用文字字符串替换:

> str <- "торгово производственн��я компания"
> gsub("\uFFFD", "", str, fixed=TRUE)
[1] "торгово производствення компания"
相关问题