2017-03-06 82 views
1

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

我想删除角色,但我无法想出办法做到这一点。

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

如果我需要提供任何其他信息,请让我知道。另外我会非常感谢这里发生了什么的解释(就像为什么一个普通的gsub不起作用,为什么它会这样显示)

+1

尝试'GSUB( “\ uFFFD”, “”,STR,固定= TRUE)' –

+0

@WiktorStribiżew谢谢你,完美的工作 – Alexvonrass

回答

2

您正在使用gsub函数,第一个正则表达式模式论据。 <U+FFFD>模式匹配<,1个或更多个U符号,然后是字符序列FFFD>

它的工作是这样的:

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

使用一个单纯的文本字符串替换:

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