先记录第一个133的位置
然后把字符串截取后部分
然后用replaceAll这个函数替换掉后面的12
最后再合并
效率吗
用StringBuffer
这样效率会提高,否则就是算法上的问题了
然后把字符串截取后部分
然后用replaceAll这个函数替换掉后面的12
最后再合并
效率吗
用StringBuffer
这样效率会提高,否则就是算法上的问题了
解决方案 »
- Tomcat下可以部署多少项目
- javascript求教
- js代码求助_拷贝
- Javascript 对象的实例化机制
- 请问<script language="JavaScript" src="/include/getdate.jsp" type="text/javascript"></script>
- 看看这个是什么问题
- struts中使用JTA无法对hibernate进行保存,高手指点
- 变量替带的问题,帮忙
- hibernate annotation多对一存储问题
- jsp的文件上传能否用ftp接收?
- 用到List.add(object)方法,怎么NullPointerException
- 如何使form递交后,仍然保持该form中所填入的值不消失?(急)
...
Pattern p=Pattern.compile("133[0-9]{9}");
Matcher m=p.matcher(str);
System.out.println(m.replaceAll("XXXXXXXXXXXX"));
从文件里读移行就替换一行,也就马上把这行写回到另外一个文件里,效率很快的。如果只是一般的使用,用Editplus就可以进行正则表达式替换了,不用自己写程序。
运行一下这个程序:import java.util.regex.*;public class ReplaceTel{
public static void main(String[] args) throws Exception{
Pattern p = Pattern.compile("133[0-9]{9}");
Matcher m = p.matcher("you tel is : 133312399249;but my is 133472155555");
String result = m.replaceAll("XXXXXXXXXXXX")
System.out.println(result);
}
}