From 40aa343f1271bf0564426487ad772d5b629ac0d4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 26 三月 2021 16:25:44 +0800
Subject: [PATCH] 优化代码

---
 java110-utils/src/main/java/com/java110/utils/util/StringUtil.java |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 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 65b3bf4..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;
 
 
@@ -550,4 +551,76 @@
             return false;
         }
     }
+    public static String delHtmlTag(String str){
+        String newstr = "";
+        newstr = str.replaceAll("<[.[^>]]*>","");
+        newstr = newstr.replaceAll(" ", "");
+        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