Mega Code Archive

 
Categories / Java / GWT
 

Replace string for GWT

/*  * Copyright 2009 Sysmap Solutions Software e Consultoria Ltda.  *   * Licensed under the Apache License, Version 2.0 (the "License"); you may not  * use this file except in compliance with the License. You may obtain a copy of  * the License at  *   * http://www.apache.org/licenses/LICENSE-2.0  *   * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the  * License for the specific language governing permissions and limitations under  * the License.  */ /**  * @author Gesse S. F. Dafe  * @author Thiago da Rosa de Bustamante -  */ public class Util{   /**    * @param text    * @param searchString    * @param replacement    * @return    */   public static String replace(String text, String searchString, String replacement)    {     return replace(text, searchString, replacement, -1);   }   /**    * @param text    * @param searchString    * @param replacement    * @param max    * @return    */   public static String replace(String text, String searchString, String replacement, int max)    {     if (isEmpty(text) || isEmpty(searchString) || replacement == null || max == 0)      {       return text;     }     int start = 0;     int end = text.indexOf(searchString, start);     if (end == -1)      {       return text;     }     int replLength = searchString.length();     int increase = replacement.length() - replLength;     increase = (increase < 0 ? 0 : increase);     increase *= (max < 0 ? 16 : (max > 64 ? 64 : max));     StringBuffer buf = new StringBuffer(text.length() + increase);     while (end != -1)      {       buf.append(text.substring(start, end)).append(replacement);       start = end + replLength;       if (--max == 0)        {         break;       }       end = text.indexOf(searchString, start);     }     buf.append(text.substring(start));     return buf.toString();   }   /**    * @param value    * @return    */   public static boolean isEmpty(String value)   {     return (value == null || value.length() == 0);   }    }