<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
   <HEAD>
<META http-equiv="Content-Type" content="text/html; charset=GB2312">
      <META name="GENERATOR" content="IBM WebSphere Studio">
      <TITLE>replace.jsp</TITLE>
   </HEAD>
   <BODY>
  <%
  int i;
  String str="mynameishu";//原始字符串
  String rstr="name";//要替换掉的
  String rstrit="brother";//用来替换的
  for (i=0;i<=str.length();i++)
  {
   if(str.startsWith(rstr,i))
   break;
  }
  String tmp1=str.substring(0,i);
  out.println(tmp1);
   String tmp2=str.substring(i+rstr.length());
   out.println(tmp2);
   String nowstr=tmp1+rstrit+tmp2;//最后的字符串
   
    out.println(nowstr);
 // String tmp=str.
  %>
   </BODY>
</HTML>
刚刚调试通过!思想就是这样的,
可以结贴了,

解决方案 »

  1.   

    给你一个自编的函数:  /**
       * 用于进行字符串函数替换的方法.
       */
        private String replace(String AllString,String oldStr,String newStr)
        {
          String newString="";
          String OldString=AllString;
          int index=0;
          while((index=OldString.indexOf(oldStr))>=0)
          {
            newString+=OldString.substring(0,index);//取匹配符的前半部份.
            OldString=OldString.substring(index+oldStr.length());//  取匹配符的后半部份
            newString+=newStr;        //加上新符.
          }
          newString+=OldString;       //加入后半份.
          return newString;
        }
      

  2.   

    看看这个   
     /**
         * 替代linde中的oldString为newString
         *
         * @参数 line 需要做替代的字符串
         * @参数 oldString the String that should be replaced by newString
         * @param newString the String that will replace all instances of oldString
         *
         * @return a String will all instances of oldString replaced by newString
         */
        public static final String replace( String line, String oldString, String newString )
        {
            if (line == null) {
                return null;
            }
            int i=0;
            if ( ( i=line.indexOf( oldString, i ) ) >= 0 ) {
                char [] line2 = line.toCharArray();
                char [] newString2 = newString.toCharArray();
                int oLength = oldString.length();
                StringBuffer buf = new StringBuffer(line2.length);
                buf.append(line2, 0, i).append(newString2);
                i += oLength;
                int j = i;
                while( ( i=line.indexOf( oldString, i ) ) > 0 ) {
                    buf.append(line2, j, i-j).append(newString2);
                    i += oLength;
                    j = i;
                }
                buf.append(line2, j, line2.length - j);
                return buf.toString();
            }
            return line;
        }
      

  3.   

    我写的函数,希望有用
    function  LDReplaceSubString( sourceList , fromList , toList ) 
    {
    var i ;
    var iLength ;
    var strTmp ;
    var iTmpLenth ; iLength = fromList.length ;
    strTmp = sourceList ;
    while( strTmp.indexOf(fromList) >= 0 )
    {
    i = strTmp.indexOf(fromList) ;
    iTmpLenth = strTmp.length ;
    if ( i==0 ) 
    {strTmp = toList + strTmp.substring(i+iLength,iTmpLenth) ;}
    else
    {strTmp = strTmp.substring(0,i-1) + toList + strTmp.substring(i+iLength,iTmpLenth) ;}
    }
    return( strTmp ) ;
    }
      

  4.   


      int i;
      String str="mynameishu";//原始字符串
      String rstr="name";//要替换掉的
      String rstrit="brother";//用来替换的
      for (i=0;i<=str.length();i++)
      {
      if(str.startsWith(rstr,i))//这个函数是得到rstr在str中的起始位置
       break;
      }
      String tmp1=str.substring(0,i);//取要替换掉的字符串的前面的字符
      out.println(tmp1);
    String tmp2=str.substring(i+rstr.length());//取要替换掉的字符串的后面的字符
       out.println(tmp2);
       String nowstr=tmp1+rstrit+tmp2;//最后的字符串
       
        out.println(nowstr);
     // String tmp=str.