Способ добавить пробел между двумя символами Юникода - PullRequest
0 голосов
/ 17 января 2019

Я использую R для анализа твитов и хотел бы включить смайлики в свой анализ. Я читал полезные ресурсы и консультировался со словарями смайликов от Джессики Петерки Бонетты и Кейт Лайонс. Однако я сталкиваюсь с проблемой, когда в твитах рядом друг с другом находятся смайлики.

Например, если использовать твит с несколькими разложенными смайликами, я получу результаты, которые ищу:

x <- iconv(x, from = "UTF8", to = "ASCII", sub = "byte")
x

х вернет:

"Умм, наш самолет <9c> <88> <8f> задержался на <9a> <8f>, и я <80> <99> немного нервничал <9f> <98> <96>, но я <80> < 99> в пути <9c> <85> домой <9f> <8f>, так что <80> <99> действительно захватывающе <80> <8f> t <80>

Что при сопоставлении со словарем эмодзи Кейт Лайонс:

FindReplace(data = x, Var = "x", replaceData = emoticons, from="R_Encoding", to = "Name", exact = FALSE)

даст:

Ммм, наш самолет САМОЛЕТ получил задержку WARNINGSIGN, и я <80> <99> немного нервничаю <9f> <98> <96>, но я <80> <99> на пути WHITEHEAVYCHECKMARK домой <9f> <8f> так что <80> <99> действительно захватывающий DOUBLEEXCLAMATIONMARK t <80>

Если есть твит с двумя смайликами подряд, например:

"Задержка \ U0001f615 \ U0001f615 \ n. \ N. \ N. \ N \ n # flying #flight #travel #delayed #baltimore #january #flightdelay #travelproblems # bummer…"

Повторение процесса с иконкой сверху не будет работать, потому что он не будет соответствовать кодировкам в словаре эмодзи. Поэтому я подумал добавить пробел между двумя шаблонами (\ U0001f615 \ U0001f615), чтобы он стал (\ U0001f615 \ U0001f615), однако я борюсь с правильным регулярным выражением для этого.

...