帮我分析一下这个函数啊!!谢谢

zhuxl 2008-08-27 09:34:12
//用于替换的函数
public static String Replace(String s, String s1, String s2)
{
if(s == null)
{
return null;
}
StringBuffer stringbuffer = new StringBuffer();
int i = s.length();
int j = s1.length();
int k;
int l;
for(k = 0; (l = s.indexOf(s1, k)) >= 0; k = l + j)
{
stringbuffer.append(s.substring(k, l));
stringbuffer.append(s2);
}

if(k < i)
{
stringbuffer.append(s.substring(k));
}
return stringbuffer.toString();
}
...全文
45 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuxl 2008-08-28
  • 打赏
  • 举报
回复
很好!!!
ZangXT 2008-08-27
  • 打赏
  • 举报
回复

//把字符串s中所有的子串s1 替换为s2
public static String Replace(String s, String s1, String s2) {
if (s == null) { //s为null,结束
return null;
}
StringBuffer stringbuffer = new StringBuffer(); //保存处理的中间结果
int i = s.length();
int j = s1.length();
int k; //从位置k开始查找子串s1的位置
int l;//l表示子串s1的开始位置
//从k为0开始查找子串s1的位置,
for (k = 0; (l = s.indexOf(s1, k)) >= 0; k = l + j) {
stringbuffer.append(s.substring(k, l));//保留从k开始的子串s1之前的子串
stringbuffer.append(s2);//替换为s2
}
//s中仍有剩余的子串,直接加入到stringbuffer
if (k < i) {
stringbuffer.append(s.substring(k));
}
return stringbuffer.toString();
}

81,092

社区成员

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

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