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