ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

绘文字emoji

2022-08-20 13:04:42  阅读:154  来源: 互联网

标签:文字 String text 81% E3% https emoji


最近有个webservice报错,原因是穿了一些非法字符。

一问,用户手机填了表情包--绘文字,emoji

处理绘文字,还得看日本人,emoji就是绘文字的日语发音。。。

倒不一定是他们发明的,但这帮人太喜欢用这个了,翻盖手机的年代就开始玩这个了。

https://lets-emoji.com/emojilist/emojilist-1/

https://cyzennt.co.jp/blog/2019/07/13/__trashed/

 

所有的绘文字?

推特上实时统计的绘文字使用量!

realtime emoji use on twitter

http://www.emojitracker.com/

 

正则表达式匹配

https://www.web-dev-qa-db-ja.com/ja/java/%E6%96%87%E5%AD%97%E5%88%97%E3%81%8B%E3%82%89%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E7%B5%B5%E6%96%87%E5%AD%97%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F/1048492243/

 

 

这个写得倒是挺规整,可惜不对。。。。

https://www.faqcode4u.com/faq/213749/how-to-deal-with-invalid-characters-in-a-ws-output-when-using-cxf

/**
 * From xml spec valid chars:<br>
 * #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]<br>
 * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.<br>
 * @param text The String to clean
 * @param replacement The string to be substituted for each match
 * @return The resulting String
 */
 public static String CleanInvalidXmlChars(String text, String replacement) {
     String re = "[^\u0009\r\n\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF]";
     return text.replaceAll(re, replacement);
 }

 

这位写得好,是.net版本

https://www.cnblogs.com/Death/archive/2012/02/28/2371117.html

 

wiki

https://ja.wikipedia.org/wiki/%E7%B5%B5%E6%96%87%E5%AD%97

 

这一段可以用:

https://ja.getdocs.org/java-string-remove-emojis

次の例では、Unicodeポイントを使用して2つのUnicode範囲の絵文字を削除します。

@Test
public void whenRemoveEmojiUsingCodepoints__thenSuccess() {
    String text = "la conférence, commencera à 10 heures ?";
    String result = text.replaceAll("[\\x{0001f300}-\\x{0001f64f}]|[\\x{0001f680}-\\x{0001f6ff}]", "");

    assertEquals(result, "la conférence, commencera à 10 heures ");
}
現在利用可能な絵文字とそのコードポイントの全リストはhttps://unicode.org/emoji/charts/full-emoji-list.html[ここ]にあります。

 

这个看起来比较全了,是个官方组织

https://unicode.org/emoji/charts/full-emoji-list.html

 

这个是上面博客中推荐的绘文字处理库

<dependency>
    <groupId>com.vdurmont</groupId>
    <artifactId>emoji-java</artifactId>
    <version>4.0.0</version>
</dependency>

 

使用方法:

それでは、__ emoji-java を使って、
String__から絵文字を削除する方法を見てみましょう。

@Test
public void whenRemoveEmojiUsingLibrary__thenSuccess() {
    String text = "la conférence, commencera à 10 heures ?";
    String result = EmojiParser.removeAllEmojis(text);

    assertEquals(result, "la conférence, commencera à 10 heures ");
}
ここでは、




EmojiParser ** .の

removeAllEmojis()

メソッドを呼び出しています。


parseToAliases()

メソッドを使用して、emojiをそのエイリアスに置き換えるために

EmojiParser

を使用することもできます。

@Test
public void whenReplaceEmojiUsingLibrary__thenSuccess() {
    String text = "la conférence, commencera à 10 heures ?";
    String result = EmojiParser.parseToAliases(text);

    assertEquals(
      result,
      "la conférence, commencera à 10 heures :sweat__smile:");
}
emojiをそれらの別名に置き換える必要がある場合、このライブラリを使用することは非常に便利です。

ただし、emoji-javaライブラリは絵文字しか検出できませんが、記号やその他の特殊文字を検出することはできません。

 

 

 

次の例では、Unicodeポイントを使用して2つのUnicode範囲の絵文字を削除します。

 

@Test
public void whenRemoveEmojiUsingCodepoints__thenSuccess() {
    String text = "la conférence, commencera à 10 heures ?";
    String result = text.replaceAll("[\\x{0001f300}-\\x{0001f64f}]|[\\x{0001f680}-\\x{0001f6ff}]", "");

    assertEquals(result, "la conférence, commencera à 10 heures ");
}

 

 

現在利用可能な絵文字とそのコードポイントの全リストはhttps://unicode.org/emoji/charts/full-emoji-list.html[ここ]にあります。

标签:文字,String,text,81%,E3%,https,emoji
来源: https://www.cnblogs.com/tekikesyo/p/16607520.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有