public static String PadTrailing(String rString, int rLength, String rPad)      {
        String lTmpPad = "";        String lTmpStr = StrChkNull(rString);        if (lTmpStr.length() >= rLength)
            return lTmpStr.substring(0,lTmpStr.length());
        else {
            for(gCnt = 1; gCnt <= rLength-lTmpStr.length(); gCnt++) {
                lTmpPad = rPad + lTmpPad;
            }
        }
        return lTmpStr+lTmpPad;
    }
    public static String PadLeading(String rString, int rLength, String rPad)  {
        String lTmpPad = "";        String lTmpStr = StrChkNull(rString);        if (lTmpStr.length() >= rLength)
            return lTmpStr.substring(0,lTmpStr.length());
        else {
            for(gCnt = 1; gCnt <= rLength-lTmpStr.length(); gCnt++) {
                lTmpPad = lTmpPad + rPad;
            }
        }
        return lTmpPad+lTmpStr;
    }

解决方案 »

  1.   


    String fill(String src, int startIndex, int length, char c ) {
      
      char chars = new char[Math.max(startIndex + length, src.length())];
      src.getChars(0,src.length(),chars,0);
      java.util.Arrays.fill(chars, startIndex, startIndex + length, c );  return new String(chars);
    }
      

  2.   

    如果是用一个字符替代一个字符,比如用'1'替代' '空格,直接用replace方法即可,如:str = str.replace(' ','1');,若你用的是jdk1.4的版本,可以直接使用方法 str = str.replaceall("oldString","newString");即可。
    如你想去除所有的空格而不添加新字符等,直接
    str = str.replaceall(" ","");也行。
    当然还有其它方法,如使用StringTokenizer也能完成这个任务
      

  3.   

    看看TextFormat component中的fillCharacter和一些methods
      

  4.   

    寒号大哥:你说的类我找了半天也没找到啊!
    能不能再详细点呢?
    谢谢!类外你的jdk是哪一版的啊?
      

  5.   

    如果你需要的是这个的话,也许有用。
    /**功能:以特定字符串替换源字符串中指定字符串。
       * 返回值:成功则返回新字符串,否则返回""。
       * @param sourceString
       * @param toReplaceString
       * @param replaceString
       * @return
       */
      public String stringReplace(String sourceString, String toReplaceString, String replaceString)
      {
        String returnString = sourceString;
        ArrayList arrayList = new ArrayList();
        int stringLength = 0;
        if(toReplaceString != null)
        {
          stringLength = toReplaceString.length();
        }
        if(returnString != null && returnString.length() > stringLength)
        {
          int max = 0;
          String S4 = "";
          for(int i = 0; i < sourceString.length(); i++)
          {
            max = i + toReplaceString.length() > sourceString.length()? sourceString.length():i + stringLength;
            String S3 = sourceString.substring(i, max);
            if(!S3.equals(toReplaceString))
            {
              S4 += S3.substring(0,1);
            }
            else
            {
              S4 += replaceString;
              i += stringLength -1 ;
            }
          }
          returnString = S4;
        }
        return returnString;
      }
      

  6.   

    谢谢热心的Tmsheng(小唐蔡):
    可我的程序需要的是填充而非替换