From c9b36c8d499409d5b596e4f9cf4fc47fd8a42fd8 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 08 四月 2021 18:25:15 +0800
Subject: [PATCH] 加入个人物品管理工鞥
---
java110-utils/src/main/java/com/java110/utils/util/StringUtil.java | 66 +++++++++++++++++++++++++++++++++
1 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/java110-utils/src/main/java/com/java110/utils/util/StringUtil.java b/java110-utils/src/main/java/com/java110/utils/util/StringUtil.java
index e276dd2..df18807 100644
--- a/java110-utils/src/main/java/com/java110/utils/util/StringUtil.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/StringUtil.java
@@ -11,6 +11,7 @@
import java.io.UnsupportedEncodingException;
import java.util.Date;
+import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -557,4 +558,69 @@
return newstr;
}
+
+
+ public static String encodeEmoji(String orgStr)
+ {
+ if (StringUtil.isEmpty(orgStr))
+ {
+ return orgStr;
+ }
+ String temp = orgStr;
+ Pattern pattern = Pattern.compile("[^\u0000-\uffff]", Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
+ Matcher matcher = pattern.matcher(orgStr);
+ while (matcher.find())
+ {
+ StringBuilder sb = new StringBuilder("[em:");
+ String mStr = matcher.group();
+ for (int i = 0; i < mStr.length(); i++)
+ {
+ int emoji = mStr.charAt(i);
+ if (i < mStr.length() - 1)
+ {
+ sb.append(emoji).append('-');
+ }
+ else
+ {
+ sb.append(emoji).append(']');
+ }
+ }
+ temp = temp.replaceAll(mStr, sb.toString());
+ }
+ return temp;
+ }
+
+ public static String decodeEmoji(String orgStr)
+ {
+ if (StringUtil.isEmpty(orgStr))
+ {
+ return orgStr;
+ }
+ String temp = orgStr;
+ Pattern pattern = Pattern.compile("\\[em:[\\d\\-]+\\]", Pattern.CASE_INSENSITIVE);
+ Matcher matcher = pattern.matcher(orgStr);
+ while (matcher.find())
+ {
+ StringBuilder sb = new StringBuilder("\\[em:");
+ StringBuilder emojiSb = new StringBuilder();
+ String mStr = matcher.group();
+ String[] emojis = mStr.substring(4, mStr.length() - 1).split("-");
+ for (int i = 0; i < emojis.length; i++)
+ {
+ int emoji = Integer.parseInt(emojis[i]);
+ emojiSb.append((char)emoji);
+ if (i < emojis.length - 1)
+ {
+ sb.append(emoji).append("\\-");
+ }
+ else
+ {
+ sb.append(emoji).append("\\]");
+ }
+ }
+ temp = temp.replaceAll(sb.toString(), emojiSb.toString());
+ }
+ return temp;
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0