Here you can find the source of split(String str, char separatorChar)
Splits the provided text into an array, separator specified.
Parameter | Description |
---|---|
str | the String to parse, may be null |
separatorChar | the character used as the delimiter |
public static List<String> split(String str, char separatorChar)
//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; } }