2017-11-19 3 views
-1

私はドナルド・トランプ(TwitterのAPIを経由して引き込ま)によって、そのようなこのツイートとして、Twitterのポストの上にいくつかの分析を実行するためにRを使用したい:R - 正規表現の外国Unicode文字を削除する

"Join me LIVE in South Korea\U0001f1fa\U0001f1f8\U0001f1f0\U0001f1f7\n#NationalAssembly #POTUSinAsia" 

まず私が希望しますこれらがエスケープされたユニコードを選択するために使用できる正規表現かどうかを知るために使用します(例:\U0001f1f8)。

\\[[:alnum:]]{9}のように動作すると思われる表現は機能しません。 Iしかし興味深いのエラーメッセージ、得た:greplで

エラー( "\ [[:alnum:]]を{9}"、X、パール= T):無効な正規 表現「[[:alnum: PCREパターンコンパイル エラー 'POSIX名前付きクラスは、内部でのみサポートされています。';]] {9} '警告メッセージ: grepl( "\:[:alnum:]] {9}"、x、perl = T) で 『クラス[:alnum:]私は戻って、彼らが表すようになっている文字にこれらのエスケープユニコードに変換することができる方法があるかどうか] {9}』

また、私が知りたいのですがだから私は彼らのフロントエンドのユーザーにそれらを表示することができますアプリケーション。

答えて

1

iconvを使用してこれを行うことができます。これにより、外国Unicode文字を含むすべての非ASCII文字が削除されます。

teststring <- "Join me LIVE in South Korea\U0001f1fa\U0001f1f8\U0001f1f0\U0001f1f7\n#NationalAssembly #POTUSinAsia" 

iconv(teststring, "latin1", "ASCII", sub="") 
#[1] "Join me LIVE in South Korea\n#NationalAssembly #POTUSinAsia" 
関連する問題