Ich versuche herauszufinden, wie überprüft werden kann, ob eine Zeichenfolge ein spezifisches Emoji enthält. Zum Beispiel sehen Sie die folgenden zwei emoji:Vergleichen und Konvertieren von Emoji-Zeichen in C#
Bicyclist: http://unicode.org/emoji/charts/full-emoji-list.html#1f6b4
US-Flagge: http://unicode.org/emoji/charts/full-emoji-list.html#1f1fa_1f1f8
Bicyclist ist U+1F6B4
, und die US-Flagge ist U+1F1FA U+1F1F8
.
jedoch die Emojis zu überprüfen, für die in einem Array mir so vorgesehen sind, nur mit dem Zahlenwert in Strings:
var checkFor = new string[] {"1F6B4","1F1FA-1F1F8"};
Wie kann ich die Array-Werte in tatsächliche Unicode-Zeichen umwandeln und überprüfen sehen, ob eine Zeichenfolge sie enthält?
Ich kann etwas für den Radfahrer arbeiten, aber für die US-Flagge bin ich ratlos.
Für die Radfahrer, mache ich folgendes:
const string comparisonStr = "..."; //some string containing text and emoji
var hexVal = Convert.ToInt32(checkFor[0], 16);
var strVal = Char.ConvertFromUtf32(hexVal);
//now I can successfully do the following check
var exists = comparisonStr.Contains(strVal);
Aber dies wird mit der US-Flagge nicht funktionieren, weil der mehrere Codepunkte.
Perfect, danke. Die Kombination von Charakteren brachte mich aus irgendeinem Grund zum Stolpern. – tbraun