Java String Split by Separator split(String str, char separatorChar)

Here you can find the source of split(String str, char separatorChar)

Description

Splits the provided text into an array, separator specified.

License

Apache License

Parameter

Parameter Description
str the String to parse, may be null
separatorChar the character used as the delimiter

Return

an list of parsed Strings, null if null String input

Declaration

public static List<String> split(String str, char separatorChar) 

Method Source Code


//package com.java2s;
/*//  w  ww .  j av a 2  s .  c o  m
 * Copyright 2014 Red Hat, Inc. and/or its affiliates.
 *
 * 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.
 */

import java.util.ArrayList;

import java.util.List;

public class Main {
    /**
     * <p>Splits the provided text into an array, separator specified.
     * This is an alternative to using StringTokenizer.</p>
     *
     * <p>The separator is not included in the returned String array.
     * Adjacent separators are treated as one separator.
     * For more control over the split use the StrTokenizer class.</p>
     *
     * <p>A {@code null} input String returns {@code null}.</p>
     *
     * <pre>
     * StringUtils.split(null, *)         = null
     * StringUtils.split("", *)           = []
     * StringUtils.split("a.b.c", '.')    = ["a", "b", "c"]
     * StringUtils.split("a..b.c", '.')   = ["a", "b", "c"]
     * StringUtils.split("a:b:c", '.')    = ["a:b:c"]
     * StringUtils.split("a b c", ' ')    = ["a", "b", "c"]
     * </pre>
     *
     * @param str  the String to parse, may be null
     * @param separatorChar  the character used as the delimiter
     * @return an list of parsed Strings, {@code null} if null String input
     */
    public static List<String> split(String str, char separatorChar) {
        List<String> list = new ArrayList<String>();
        if (str == null || str.length() == 0) {
            return list;
        }
        if (str.indexOf(separatorChar) == -1) {
            list.add(str);
            return list;
        }
        int start = 0;
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) == separatorChar) {
                String token = str.substring(start, i).trim();
                if (token.length() > 0) {
                    list.add(token);
                }
                start = i + 1;
            }
        }
        String token = str.substring(start, str.length()).trim();
        if (token.length() > 0) {
            list.add(token);
        }
        return list;
    }
}

Related

  1. split(String str, char separator)
  2. split(String str, char separator)
  3. split(String str, char separatorChar)
  4. split(String str, char separatorChar)
  5. split(String str, char separatorChar)
  6. split(String str, char separatorChar)
  7. split(String str, char separatorChar, boolean preserveAllTokens)
  8. split(String str, String separator)
  9. split(String str, String separator)