我正在制作一个 java 应用程序,我需要删除带有该表情符号所代表的“关键字”或“情感”的表情符号......
例如
I am feeling very happy :)
应该改为
I am feeling very happy smile.
我该怎么做,我尝试使用正则表达式,但我无法为此设计通用的正则表达式模式。
通过使用trie数据结构来保存所有表情符号,您拥有的用例得到了最佳解决。在通过字符串的每一步中,您都会在 trie 中向下走一步(如果 char 匹配)。这将允许您只通过一次字符串来查找所有出现的表情符号。
除非您用一个短语交换所有表情符号,否则通用的正则表达式不会真正有帮助。您需要的是格式为 ":)"=>"smile",":("=>"frown" 的字典。完成后,您可以使用 String.replace(String, String) ,甚至不用担心正则表达式。
使用 Hashmap 索引表情符号怎么样?然后代替正则表达式,只需执行搜索替换!