Java String Split by Delimiter split(String value, char delim)

Here you can find the source of split(String value, char delim)

Description

Splits the specified String with the specified delimiter.

License

Open Source License

Declaration

public static String[] split(String value, char delim) 

Method Source Code

//package com.java2s;
//License from project: Open Source License 

import java.util.ArrayList;

import java.util.List;

public class Main {
    private static final String EMPTY_STRING = "";

    /**/*  ww w  .  j a  va 2 s.  c o  m*/
     * Splits the specified {@link String} with the specified delimiter. This
     * operation is a simplified and optimized version of
     * {@link String#split(String)}.
     */
    public static String[] split(String value, char delim) {
        final int end = value.length();
        final List<String> res = new ArrayList<String>();

        int start = 0;
        for (int i = 0; i < end; i++) {
            if (value.charAt(i) == delim) {
                if (start == i) {
                    res.add(EMPTY_STRING);
                } else {
                    res.add(value.substring(start, i));
                }
                start = i + 1;
            }
        }

        if (start == 0) { // If no delimiter was found in the value
            res.add(value);
        } else {
            if (start != end) {
                // Add the last element if it's not empty.
                res.add(value.substring(start, end));
            } else {
                // Truncate trailing empty elements.
                for (int i = res.size() - 1; i >= 0; i--) {
                    if (res.get(i).isEmpty()) {
                        res.remove(i);
                    } else {
                        break;
                    }
                }
            }
        }

        return res.toArray(new String[res.size()]);
    }
}

Related

  1. split(String string, String delimiter)
  2. split(String string, String delimiter)
  3. split(String stringToSplit, char delimiter)
  4. split(String strToSplit, char delimiter)
  5. split(String text, String delimiter)
  6. split(String value, char delimiter)
  7. split(String value, String delimiter)
  8. split(String value, String delimiter)
  9. split(String value, String[] delimiters)