我将表情符号插入字符串中。我已经以某种格式编写了表情符号,当我在组件中显示字符串之前,我需要用HTML img标签替换所有出现的笑脸代码,这样它们就会显示为图像。所以这是我的表情符号的格式 -
&:) ==> smile
&:O ==> shocked
&:( ==> sad
etc...
所以说我有以下字符串 -
Did you hear the news &:O. I won a million dollars!! &:)
我需要找到,然后用HTML替换所有的笑脸代码,如
<img src='file:C:/images/sad.png'/>
答案 0 :(得分:4)
对于您要替换的每种笑脸,最好使用String.replaceAll(String what, String withWhat)
答案 1 :(得分:4)
我认为你最好使用String.replace而不是String.replaceAll
,这样你就不必处理逃避的正则表达式模式......它只是替换文字。
答案 2 :(得分:2)
在某处定义:
static HashMap<String, String> smileys = new HashMap<String, String>();
然后用smileys(String)和它们的html表示填充它:
smileys.put("&:)", "<img src='file:C:/images/sad.png'/>");
smileys.put("&:O", "<img src='file:C:/images/sad.png'/>");
smileys.put("&:(", "<img src='file:C:/images/sad.png'/>");
替换表情符号是通过用html表示替换每个出现的笑脸代码来完成的,只需像这样循环哈希映射:
public String replaceSmileys(String text){
for(Entry<String, String> smiley : smileys.entrySet())
text = text.replaceAll(smiley.getKey(), smiley.getValue());
return text;
}