📄 facefilter.java
字号:
package com.alumni.bean;
import java.util.regex.*;
public class FaceFilter
{
//定义心情列表数组
private String[] faceList;
//定义要替换的心情图片列表数组
private String[] faceImage;
//定义数据源
private String source;
//构造器
public FaceFilter()
{
//初始化数组
int max=20;
faceList=new String[max];
faceImage=new String[max];
//开始定义心情和将要替换的心情图片
for(int i=0;i<max;i++)
{
if(i<10)
{
faceList[i]=":em0"+i;
faceImage[i]="<img src=\"image/face/0"+i+".gif\">";
}
else
{
faceList[i]=":em"+i;
faceImage[i]="<img src=\"image/face/"+i+".gif\">";
}
}
}
//运行
public void run()
{
this.source=this.replaceNormalFace(this.source);
this.source=this.replaceSpecialFace(this.source);
}
//核心替换方法
private String replace(String input,String faceList,String faceImage)
{
Pattern p=Pattern.compile(faceList);
Matcher m=p.matcher(input);
StringBuffer sb=new StringBuffer();
boolean result=m.find();
while(result)
{
m.appendReplacement(sb,faceImage);
result=m.find();
}
return m.appendTail(sb).toString();
}
//替换一般心情
private String replaceNormalFace(String input)
{
String result=new String(input);
for(int i=0;i<faceList.length;i++)
{
result=this.replace(result,this.faceList[i],this.faceImage[i]);
}
return result;
}
//替换特殊的表情
private String replaceSpecialFace(String input)
{
String result=new String(input);
result=this.replace(result,":P","<img src=\"image/face/04.gif\">");//:P
result=this.replace(result,":O","<img src=\"image/face/03.gif\">");//:O
result=this.replace(result,":S","<img src=\"image/face/07.gif\">");//:S
result=this.replace(result,":\\)","<img src=\"image/face/00.gif\">");//:)
result=this.replace(result,":\\(","<img src=\"image/face/18.gif\">");//:(
result=this.replace(result,":D","<img src=\"image/face/01.gif\">");//:D
result=this.replace(result,":\\|","<img src=\"image/face/17.gif\">");//:|
result=this.replace(result,":Y","<img src=\"image/face/32.gif\">");//:Y
result=this.replace(result,":N","<img src=\"image/face/33.gif\">");//:N
result=this.replace(result,":\\[","<img src=\"image/face/31.gif\">");//:[
return result;
}
//设定数据源
public void setSource(String source)
{
this.source=source;
}
//获得运行结果
public String getResult()
{
return this.source;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -