2016-11-30 7 views
2

いくつかのテキストをクリーンアップしようとしています。私はテキストから削除したくないemojisのリストを持っています。これらの絵文字の前にスペースがない場合にのみ、スペースを入れたいと思います。emojisの前にスペースを入れてください

emojis = as.character(outer(c(":", ";", ":-", ";-","="),c(")", "(", "]", "[", "D", "o", "O", "P", "p","8"),FUN = paste,sep="")) 

もし私が言ったつぶやきを持っていたら。

Tweet = "I am so happy:)" 

私は、コードが実行された後には、

Tweet = "I am so happy :)" 

ようにしたいと思います。

これはかなり簡単なアイデアですが、私はこれを行うためのコードを見つけることができませんでした。彼らの前にスペースを必要と絵文字の

全リスト:

":)" ";)" ":-)" ";-)" "=)" ":(" ";(" ":-(" ";-(" "=(" ":]" ";]" ":-]" ";-]" "=]" ":[" ";[" ":-[" ";-[" "=[" ":D" ";D" ":-D" ";-D" "=D" ":o" ";o" ":-o" ";-o" "=o" ":O" ";O" ":-O" ";-O" "=O" ":P" ";P" ":-P" ";-P" "=P" ":p" ";p" ":-p" ";-p" "=p" ":8" ";8" ":-8" ";-8" "=8" 
+0

あなたはツイートを取得しますか?Tweet = "私はとても幸せです:)" '? –

+0

@RonakShah申し訳ありません、多分それは不明だった、つぶやきは "私はとても幸せです:)"というテキストはちょうどTweetと呼ばれています。 – Kristofersen

+0

@ Hack-R - これは再現可能な例ではありませんか? emojisのリストはRコードで定義され、現在のデータの例はRコードで与えられ、意図された出力が提供されます。ここでのすべての質問だけが同じであれば。 – thelatemail

答えて

4

正規表現は助けることができます。

emojis = as.character(outer(c(":", ";", ":-", ";-","="),c("\\)", "\\(", "\\]", "\\[", "D", "o", "O", "P", "p","8"),FUN = paste,sep="")) 
pat <- paste0("(\\w+)(", paste(emojis, collapse="|"), ")") 
Tweet = "I am so happy:)" 
sub(pat, "\\1 \\2", Tweet) 
#[1] "I am so happy :)" 
+1

返信いただきありがとうございます。それが私の望むものとほとんど同じです。 emojisのリストには、emojisもあります。と=しかし、このコードはそれのために働いていません。どのように私はサブにそれを組み込むのですか? – Kristofersen

+0

編集されました。そしてノート、私はそれらを必要とする絵文字にバックスラッシュを追加しました。 –

+0

ありがとう、これは完璧です。 – Kristofersen

関連する問題