0

我正在制作一个 java 应用程序,我需要删除带有该表情符号所代表的“关键字”或“情感”的表情符号......

例如

I am feeling very happy :)

应该改为

I am feeling very happy smile.

我该怎么做,我尝试使用正则表达式,但我无法为此设计通用的正则表达式模式。

4

3 回答 3

3

通过使用trie数据结构来保存所有表情符号,您拥有的用例得到了最佳解决。在通过字符串的每一步中,您都会在 trie 中向下走一步(如果 char 匹配)。这将允许您只通过一次字符串来查找所有出现的表情符号。

于 2013-11-10T18:01:26.900 回答
1

除非您用一个短语交换所有表情符号,否则通用的正则表达式不会真正有帮助。您需要的是格式为 ":)"=>"smile",":("=>"frown" 的字典。完成后,您可以使用 String.replace(String, String) ,甚至不用担心正则表达式。

于 2013-11-10T17:11:08.973 回答
0

使用 Hashmap 索引表情符号怎么样?然后代替正则表达式,只需执行搜索替换!

于 2013-11-10T17:09:24.007 回答