2017-03-06 123 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] "торгово производствення компания"