开发了个微信小程序,让同事测试的时候发现有两个人失败,查了日志发现两人名字里都带的有emoji表情,于是搜资料找到了这个工具类:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class formatEmoji {
public static String filterEmoji(String nick_name) {
//nick_name 所获取的用户昵称
if (nick_name == null) {
return nick_name;
}
Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",
Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
Matcher emojiMatcher = emoji.matcher(nick_name);
if (emojiMatcher.find()) {
//将所获取的表情转换为*
nick_name = emojiMatcher.replaceAll("*");
return nick_name;
}
return nick_name;
}
}
在需要nick_name的地方导下包就行了,不然mysql存不进去会报错;
代码中的*可以自定义你想默认的内容,解决!