mysql 什么样的字符集可以存储emoji
utf8mb4 属于utf8的超集,具有utf8的属性,也更完善
utf8只能最大存储3个字节,而emoji为四个字符,utf8mb4可以存储4个字节
替换代码:
public static String replaceEmoji(String source) {
if (source != null) {
Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",
Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
Matcher emojiMatcher = emoji.matcher(source);
if (emojiMatcher.find()) {
source = emojiMatcher.replaceAll("*");
return source;
}
return source;
}
return source;
}
其中 Pattern.CASE_INSENSITIVE 为启用不区分大小写的匹配。
在这里只描述下我知道的Java中应用正则的例子:
1、String
String.replaceAll(String regex,String source)
String.replaceFirst(String regex, String replacement)
String.split(String regex)