Überprüfen Sie, ob der Buchstabe ist emoji

Möchte ich prüfen, ob es ein Brief ist ein emoji. Ich habe festgestellt, dass einige ähnliche Fragen auf und so fand diese regex:

private final String emo_regex = "([\\u20a0-\\u32ff\\ud83c\\udc00-\\ud83d\\udeff\\udbb9\\udce5-\\udbb9\\udcee])";

Jedoch, wenn ich den folgenden Code in einem Satz wie:

for (int k=0; k<letters.length;k++) {    
    if (letters[k].matches(emo_regex)) {
        emoticon.add(letters[k]);
    }
}

Es nicht fügen Sie alle Buchstaben, die mit jedem emoji. Ich habe auch versucht mit einem Matcher und ein Pattern, aber das hat nicht funktioniert entweder. Gibt es etwas falsch mit der regex oder bin ich etwas fehlt offensichtlich in meinem code?

Dies ist, wie ich den Brief:

sentence = "Jij staat op 10 ?"
String[] letters = sentence.split("");

Den letzten ? sollte erkannt werden und Hinzugefügt, um emoticon

Können Sie uns zeigen, mehr von dem code? Die Schleife scheint in Ordnung...
Könnten Sie ein konkretes Beispiel für den Wert von letters Sie erwarten, zu entsprechen? Außerdem, was gibt Ihnen die zuversicht, dass die regex, die Sie gefunden haben, ist definitiv richtig und umfassend?
emojis haben zwei Buchstaben, wenn ich richtig bin
Ich glaube nicht, Holen Sie sich Ihre Herangehensweise an alle. Haben Sie teilen Sie Ihre original-string in ein String[], wo jedes element ist eine einzelne Zeichenkette, nur anwenden zu können-eine regex statt eines einfachen Java-numeric range-check?
Bearbeitet die Frage, um zu zeigen, wie ich den Brief Jungs!

InformationsquelleAutor bdv | 2015-02-06

Schreibe einen Kommentar