Data Type Java

/**
 * 

 * Utilitaire de gestion des chaines de caractères.
 * 

 * @version $Date: 2005/07/20 10:59:20 $, $Revision: 1.2 $, branche-$Name:  $  
 * @author $Author: mlo $
 */
public class StringUtils {
  /**
   * remplacement d'une chaine 'oldstr' par une autre 'newstr'  
   * @param str chaine source
   * @param oldstr chaine à remplacer
   * @param newstr chaine de remplacement
   * @return chaine résultat 
   */
  public static String replace (String source, String os, String ns) {
        if (source == null) {
            return null;
        }
        int i = 0;
        // Make sure that oldString appears at least once before doing any processing.
        if ((i = source.indexOf(os, i)) >= 0) {
            // Use char []'s, as they are more efficient to deal with.
            char[] sourceArray = source.toCharArray();
            char[] nsArray = ns.toCharArray();
            int oLength = os.length();
            StringBuilder buf = new StringBuilder (sourceArray.length);
            buf.append (sourceArray, 0, i).append(nsArray);
            i += oLength;
            int j = i;
            // Replace all remaining instances of oldString with newString.
            while ((i = source.indexOf(os, i)) > 0) {
                buf.append (sourceArray, j, i - j).append(nsArray);
                i += oLength;
                j = i;
            }
            buf.append (sourceArray, j, sourceArray.length - j);
            source = buf.toString();
            buf.setLength (0);
        }
        return source;
  }
  /**
   * remplacement d'une chaine entre deux position 'start' et 'end' par value 
   * @param str chaine source
   * @param start position de départ
   * @param end position finale
   * @param value chaine de remplacement
   * @return chaine résultat 
   */
  public static String replace(String str, String start, String end,
      String value) {
    int istart = str.indexOf(start);
    int iend = str.indexOf(end);
    if (istart != -1 && iend != -1)
      return (new StringBuffer(str.substring(0, istart)).append(value)
          .append(str.substring(iend + end.length())).toString());
    else
      return str;
  }
  
}