我的一只眼睛可能是瞎的,但我找不到“更聪明”的解决方案来解决我的问题。我想用存储在单独数据框中的描述替换表情符号。有没有更方便的替代方法?
我的可重现示例:
library("tidyverse")
emojis <- tibble(
"descr" = c("grinning","rofl","smile"),
"emoji" = c("😀","🤣","😄")
)
data <- tibble(
content = c("Hi 😄", "😄🤣", "lol")
)
for (i in 1:nrow(emojis)) {
pattern <- emojis[i,"emoji"] %>% pull()
replacement <- emojis[i,"descr"] %>% pull()
data <- data %>%
mutate(content = str_replace_all(content,pattern,replacement))
}
如果我们使用
str_replace_all
进行命名替换的能力,我们可以一步完成此操作:
stringr::str_replace_all(data$content, setNames(emojis$descr, emojis$emoji))
# [1] "Hi smile" "smilerofl" "lol"