Я пытаюсь обернуть голову вокруг разбора emoji из iOS 6 с помощью regex.Parsing iOS 6 emoji с регулярным выражением
Я хочу, чтобы каждое появление emoji было заменено на spannable, где я заменяю код emoji своим изображением в своих Ресурсах. До сих пор я не мог заставить его работать.
То, что я до сих пор:
static public Spannable getSpannable(String str) {
Spannable spannable = spannableFactory.newSpannable(str);
char c = str.charAt(0);
Pattern p = Pattern.compile("([\ud83d\ude01-\ud83d\ude45])");
Matcher m = p.matcher(str);
while (m.find()) {
if (mSpannables.get(m.group()) == null) {
Bitmap b = BitmapFactory.decodeResource(myApp.getAppContext().getResources(), R.drawable.u0033);
ImageSpan imp = new ImageSpan(Bitmap.createScaledBitmap(b, 70, 70, false));
mSpannables.put(m.group(), imp);
}
spannable.setSpan(mSpannables.get(m.group()), m.start(), m.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return spannable;
}
(Я понимаю, что это не готовый к производству еще, создание рисунка на каждый раз, когда вызывается функция убийца производительности я просто пытаюсь получить. работающее регулярное выражение.)
Текущее регулярное выражение соответствует небольшому количеству эмози. Я хотел бы как можно больше разложить его на факторизацию и получить в нем полный набор символов emoji.
Как только я пытаюсь разложить факторизацию, он больше не работает. Например, это не работает:
"\ud83d[\udc00-\uddff]"
Даже меньше, когда я пытаюсь
"[\ue000-\uf8ff]|\ud83c[\udf00-\udfff]|\ud83d[\udc00-\uddff]"
, который должен (если работает) соответствовать каждый Emoji, присутствующий в кодировке.
возможный дубликат [ php найти emoji \ [обновить exis ting code \]] (http://stackoverflow.com/questions/10564068/php-find-emoji-update-existing-code) – chx