public StrBuilder replace(final int startIndex,int endIndex,final String replaceStr){
  endIndex=validateRange(startIndex,endIndex);
  final int insertLen=(replaceStr == null ? 0 : replaceStr.length());
  replaceImpl(startIndex,endIndex,endIndex - startIndex,replaceStr,insertLen);
  return this;
}

public StrBuilder replace ( final int startIndex , int endIndex , final String replaceStr ) { endIndex = validateRange ( startIndex , endIndex ) ; final int insertLen = ( replaceStr == null ? 0 : replaceStr . length ( ) ) ; replaceImpl ( startIndex , endIndex , endIndex - startIndex , replaceStr , insertLen ) ; return this ; }
replaces a portion of the string builder with another string . the length of the inserted string does not have to match the removed length .
