大家看一下,这个替换字符串的方法,与JDK的replaceAll()哪一个更好?

bbaiyun 2007-11-04 01:43:44
// 替换字符串
public String replace(String source, String oldString, String newString) {
StringBuffer output = new StringBuffer();
int lengthOfSource = source.length();// 源字符串的长度
int lengthOfOld = oldString.length();// 老字符串的长度
int posStart = 0;// 开始搜索位置
int pos;// 搜索到的位置
while ((pos = source.indexOf(oldString, posStart)) >= 0) {
output.append(source.substring(posStart, pos));
output.append(newString);
posStart = pos + lengthOfOld;
}

if (posStart < lengthOfSource) {
output.append(source.substring(posStart));
}
return output.toString();
}
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dddeee 2007-11-14
  • 打赏
  • 举报
回复
to bbaiyun
replaceAll()不能处理特殊字符.

能详细一点吗?什么样的特殊字符?
LexChen 2007-11-14
  • 打赏
  • 举报
回复
replaceAll 是支持正则表达式的,所以* . 等就存在转义的问题
使用replace则可以实现全部替换,是不支持正则的
bbaiyun 2007-11-13
  • 打赏
  • 举报
回复
replaceAll()不能处理特殊字符.
不在太一味地相信JDK的方法.所以分不能随便给.
sea_way 2007-11-04
  • 打赏
  • 举报
回复
没实践就没发言权,建议楼主把发问题的事件用在进行性能测试,比较一下结果就出来了。
huangxw000 2007-11-04
  • 打赏
  • 举报
回复
JDK自带的类和方法一般比自己编写的普通类和方法的效率高出80%,那是教材上说的,所以JAVA程序员能力的高低在于对JAVA以有类库的掌握程度.
风中的大仙 2007-11-04
  • 打赏
  • 举报
回复
与JDK的replaceAll()大体相同
yijingyong 2007-11-04
  • 打赏
  • 举报
回复
我要积分,我要下载东西!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧