StringUtils.java Source code

Java tutorial

Introduction

Here is the source code for StringUtils.java

Source

/**********************************************************************
Copyright (c) 2003 Andy Jefferson and others. All rights reserved. 
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.
     
    
Contributors:
2003 Erik Bengtson - moved replaceAll from Column class to here
2004 Andy Jefferson - moved intArrayToString, booleanArrayToString from SM
2007 Xuan Baldauf - toJVMIDString hex fix
...
**********************************************************************/

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.URLDecoder;
import java.util.Collection;
import java.util.Iterator;
import java.util.Properties;
import java.util.StringTokenizer;
import java.util.jar.JarFile;

/**
 * Utilities for String manipulation.
 *
 * @version $Revision: 1.23 $   
 **/
public class StringUtils {
    /**
     * Replaces each substring of this string that matches toReplace.
     * Used to replace replaceAll when using J2SDK 1.3.1.
     * This method is available at String.replaceAll in J2SDK 1.4
     * @param theString The string to use
     * @param toReplace The string to replace.
     * @param replacement The replacement string.
     * @return The updated string after replacing.
     */
    public static String replaceAll(String theString, String toReplace, String replacement) {
        if (theString == null) {
            return null;
        }
        if (theString.indexOf(toReplace) == -1) {
            return theString;
        }

        StringBuffer stringBuffer = new StringBuffer(theString);
        int index = theString.length();
        int offset = toReplace.length();
        while ((index = theString.lastIndexOf(toReplace, index - 1)) > -1) {
            stringBuffer.replace(index, index + offset, replacement);
        }

        return stringBuffer.toString();
    }
}