簡體   English   中英

r - 從字符串中刪除 Unicode 替換字符

[英]r - Remove Unicode replacement character from a string

我有一個一億行的數據集,其中大約 10 行具有某種 Unicode 替換字符。 此特定字符的文本表示是“< U+FFFD>”(刪除空格),但也有其他字符。

我想刪除角色,但我想不出辦法。

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

如果我需要提供任何其他信息,請告訴我。 另外,我將非常感謝您解釋這里到底發生了什么(比如為什么普通的 gsub 不起作用以及為什么它會這樣顯示)

您正在使用帶有正則表達式模式的gsub函數作為第一個參數。 <U+FFFD>模式匹配< ,1個或更多U符號,然后匹配FFFD>字符序列。

它將像這樣工作:

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

僅使用文字字符串替換:

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

當將相同的概念應用於整個數據框時,這對我來說效果最好。

# Remove embedded unicode characters in the data frame
df <- df %>%
  mutate(across(where(is.character),~ str_remove_all(.,"\\s*\u200b")))

暫無
暫無

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

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