Ich konvertiere die Codierung in UTF-8, um den UTF-8-Wert von Emojis Wert mit dem gesamten Emoji-Wert in remoji
Bibliothek zu vergleichen, die in UTF-8 ist. Ich verwende die Bibliothek stringr
, um die Position von Emojis im Vektor zu finden. Man kann grep oder eine andere Funktion verwenden.
1. Methode:
library(stringr)
xvect = c('', 'no', '', '', 'no', '')
Encoding(xvect) <- "UTF-8"
which(str_detect(xvect,"[^[:ascii:]]")==T)
# [1] 1 3 4 6
Hier 1,3,4 und 6 sind Charakter Emoji in diesem Fall.
Edited:
2. Methode: ein Paket remoji
mit devtools unter Befehl namens Install verwenden, da wir bereits die Emoji-Elemente in UTF umgewandelt -8. Wir können nun die UTF- Werte aller in der Emoji-Bibliothek vorhandenen Emojis vergleichen. Verwenden trimws
, um die Leerzeichen zu entfernen
install.packages("devtools")
devtools::install_github("richfitz/remoji")
library(remoji)
emj <- emoji(list_emoji(), TRUE)
xvect %in% trimws(emj)
Output:
which(xvect %in% trimws(emo))
# [1] 1 3 4 6
Beide oben genannten Verfahren sind nicht voll fest und ersten Methode wird davon ausgegangen, dass es keine irgendwelche ASCII-Zeichen außer Emojis in dem Vektor und zweite Methode stützt sich auf die Bibliothek Informationen von remoji
. Falls eine bestimmte Emoji-Information nicht in der Bibliothek vorhanden ist, kann der letzte Befehl einen FALSE anstelle von TRUE ergeben.
Finale Edit:
Gemäß der Diskussion unter dem OP (@MichaelChirico) und @SymbolixAU.Dank der beiden scheint es das Problem mit dem kleinen Tippfehler des Kapitals U zu sein. Der neue Regex ist xvect[grepl('[\U{1F300}-\U{1F6FF}]', xvect)]
. Der Bereich in der Zeichenklasse wird von F300 bis F6FF genommen. Man kann natürlich diesen Bereich auf einen neuen Bereich ändern, wenn ein Emoji außerhalb dieses Bereichs liegt. Dies ist möglicherweise nicht die vollständige Liste und im Laufe der Zeit können diese Bereiche weiter zunehmen/sich verändern.
Hauptstadt U? (3 zu gehen) – SymbolixAU
@SymbolixAU oh mein! Nun, das ist peinlich orz – MichaelChirico
Sie wollen auch die Reichweite reduzieren, um die "Getränk" Emoji zu erfassen :) – SymbolixAU