从列中的所有观察中删除unicode <u + ????>

时间:2017-10-16 13:09:24

标签: r string

我在一列中有一个Twitter推文的数据框,在整个文本中都有各种unicodes。即不是在开始或结束,而是随机遍布。我只想从text列中删除所有Unicode并保留数据框。例如,如果一个观察结果为:text text <U+FFH5> text text <U+301F> text我希望它返回:text text text text text

我试过了:

twitter <- str_replace_all(twitter,"<U+[[:alnum:]]>","") 

twitter <- gsub("\\s*<U\\+\\w+>$","",twitter)

以及:

twitter$text <- str_replace_all(twitter$text,"<U+[[:alnum:]]>","") 

twitter$text <- gsub("\\s*<U\\+\\w+>$","",twitter$text)

它们不保留数据框。

我的数据框目前如下:

id    text
AA    Some text<U+FFFD>with some <U+671F> done
HH    <U+3010><U+5B9A><U+671F>good news
AA    Something<U+FFFD><U+FFFD>and so on
BB    Nothing at <U+3011>
AA    more<U+30C8>example

我想将其转换为:

id    text
AA    Some text with some  done
HH    good news
AA    Something and so on
BB    Nothing at
AA    more example

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

也许是这样的(部分基于Remove all text between two brackets):

twitter ="text <> text <U+FFH5> text text <U+301F> text"

str_replace_all(twitter,"\\<U[^\\>]*\\>","") # only removes unicode