利用正则表达式根据自己的要求替换
2014-03-24 13:23
232 查看
public class Main {
public static void main(String[] args) {
String msg = "Java编程思想
:). 大学生就业 ,Java实习";
msgProcessor process = new
msgProcessor();
process.setMsg(msg);
FilterChain filter = new
FilterChain();
filter.addFilter(new
FindAndReplaceFilter()).addFilter(
new
ReplaceFilter());
process.setFc(filter);
System.out.println(process.getMsg());
}
}
public interface Filter {
public String doFilter(String str);
}
import java.util.ArrayList;
import java.util.List;
public class FilterChain {
List filters=new ArrayList();
public FilterChain addFilter(Filter
filter){
filters.add(filter);
return this;
}
public String doFilter(String msg){
for(Filter f : filters){
msg=f.doFilter(msg);
}
return msg;
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FindAndReplaceFilter implements Filter {
@Override
public String doFilter(String str) {
//
第一步首先定义一个应被过滤的字符数组即正则表达式
String[] msg = new String[] {
"大学生", "就业", "呵呵" };
// 第二步将正则表达式编译到模式中
Pattern p = null;
for (String s : msg) {
p =
Pattern.compile(s);
// 第三步
创建匹配给定输入与此模式的匹配器
Matcher m =
p.matcher(str);
//
第四步方法扫描输入序列以查找与该模式匹配
if
(m.find())
str
= str.replace(s, " ");
}
return str;
}
}
public class ReplaceFilter implements Filter {
@Override
public String doFilter(String str) {
str=str.replace("<",
"[");
return str;
}
}
public class msgProcessor {
private String msg;
FilterChain fc;
public FilterChain getFc() {
return fc;
}
public void setFc(FilterChain fc) {
this.fc = fc;
}
public String getMsg() {
return fc.doFilter(msg);
}
public void setMsg(String msg) {
this.msg=msg;
}
}
public static void main(String[] args) {
String msg = "Java编程思想
:). 大学生就业 ,Java实习";
msgProcessor process = new
msgProcessor();
process.setMsg(msg);
FilterChain filter = new
FilterChain();
filter.addFilter(new
FindAndReplaceFilter()).addFilter(
new
ReplaceFilter());
process.setFc(filter);
System.out.println(process.getMsg());
}
}
public interface Filter {
public String doFilter(String str);
}
import java.util.ArrayList;
import java.util.List;
public class FilterChain {
List filters=new ArrayList();
public FilterChain addFilter(Filter
filter){
filters.add(filter);
return this;
}
public String doFilter(String msg){
for(Filter f : filters){
msg=f.doFilter(msg);
}
return msg;
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FindAndReplaceFilter implements Filter {
@Override
public String doFilter(String str) {
//
第一步首先定义一个应被过滤的字符数组即正则表达式
String[] msg = new String[] {
"大学生", "就业", "呵呵" };
// 第二步将正则表达式编译到模式中
Pattern p = null;
for (String s : msg) {
p =
Pattern.compile(s);
// 第三步
创建匹配给定输入与此模式的匹配器
Matcher m =
p.matcher(str);
//
第四步方法扫描输入序列以查找与该模式匹配
if
(m.find())
str
= str.replace(s, " ");
}
return str;
}
}
public class ReplaceFilter implements Filter {
@Override
public String doFilter(String str) {
str=str.replace("<",
"[");
return str;
}
}
public class msgProcessor {
private String msg;
FilterChain fc;
public FilterChain getFc() {
return fc;
}
public void setFc(FilterChain fc) {
this.fc = fc;
}
public String getMsg() {
return fc.doFilter(msg);
}
public void setMsg(String msg) {
this.msg=msg;
}
}
相关文章推荐
- JavaScript利用正则表达式替换字符串中的内容
- 利用正则表达式替换功能,将C++注释转变成纯C的注释
- C# 利用正则表达式进行忽略大小写的字符串替换的应用
- JS、replace利用正则表达式替换SQL所有参数为指定格式的数据
- 匹配参数JS、replace 利用正则表达式 ,一次性替换SQL所有参数为数据
- 利用正则表达式替换功能,将C++注释转变成纯C的注释
- SQL Server中利用正则表达式替换日期中的"-|:| "字符串为空
- Java中利用正则表达式将字符串中斜杠替换成双斜杠
- JS、replace利用正则表达式替换SQL所有参数为指定格式的数据
- SQL Server中利用正则表达式替换字符串
- SQL Server中利用正则表达式替换字符串
- oracle查询字符根据正则表达式替换字符函数
- SQL Server中利用正则表达式替换字符串
- PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示功能
- 利用正则表达式替换多行代码
- js 利用正则表达式替换字符串中指定字符
- 利用正则表达式使前台数据按要求输…
- C# 利用正则表达式进行忽略大小写的字符串替换的应用--自定义高亮显示
- 利用正则表达式对字符串进行指定替换
- Eclipse利用正则表达式一键替换