Mega Code Archive

 
Categories / Java / Data Type
 

Reverse the split operation

import java.util.Collection; import java.util.Iterator; /**********************************************************************************  * $URL: https://source.sakaiproject.org/svn/util/branches/sakai_2-5-4/util-util/util/src/java/org/sakaiproject/util/StringUtil.java $  * $Id: StringUtil.java 34934 2007-09-10 22:52:23Z lance@indiana.edu $  ***********************************************************************************  *  * Copyright (c) 2003, 2004, 2005, 2006 The Sakai Foundation.  *   * Licensed under the Educational Community License, Version 1.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.opensource.org/licenses/ecl1.php  *   * 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.  *  **********************************************************************************/ /**  * <p>  * StringUtil collects together some string utility classes.  * </p>  */ public class StringUtil {   /**    * Reverse the split operation.    *     * @param parts    *        The parts to combine    * @param index    *        the index to the fist part to use    * @param length    *        the number of parts to use    * @param splitter    *        The between-parts text    */   public static String unsplit(String[] parts, int index, int length, String splitter)   {     if (parts == null) return null;     if ((index < 0) || (index >= parts.length)) return null;     if (index+length > parts.length) return null;     StringBuilder buf = new StringBuilder();     for (int i = index; i < index+length; i++)     {       if (parts[i] != null) buf.append(parts[i]);       buf.append(splitter);     }     // remove the trailing splitter     buf.setLength(buf.length()-splitter.length());     return buf.toString();   } }