//package com.nowjava;
import java.util.ArrayList;/*nowjava.com - 时 代 Java*/
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
public class Main {
public static void main(String[] argv) throws Exception {
String str = "nowjava.com";
System.out.println(java.util.Arrays
.toString(commaDelimitedListToStringArray(str)));
}
/**
* Convert a CSV list into an array of Strings.
*
* @param str
* the input String
* @return an array of Strings, or the empty array in case of empty input
*/
public static String[] commaDelimitedListToStringArray(final String str) {
/*
来自
*NowJava.com - 时代Java*/
return delimitedListToStringArray(str, ",");
}
/**
* Take a String which is a delimited list and convert it to a String array.
A single delimiter can
* consists of more than one character: It will still be considered as single delimiter string, rather
* than as bunch of potential delimiter characters - in contrast to tokenizeToStringArray.
*
* @param str
* the input String
* @param delimiter
* the delimiter between elements (this is a single delimiter, rather than a bunch individual
* delimiter characters)
* @return an array of the tokens in the list
* @see #tokenizeToStringArray
*/
public static String[] delimitedListToStringArray(final String str,
final String delimiter) {
return delimitedListToStringArray(str, delimiter, null);
}
/**
* Take a String which is a delimited list and convert it to a String array.
A single delimiter can
* consists of more than one character: It will still be considered as single delimiter string, rather
* than as bunch of potential delimiter characters - in contrast to tokenizeToStringArray.
*
* @param str
* the input String
* @param delimiter
* the delimiter between elements (this is a single delimiter, rather than a bunch individual
* delimiter characters)
* @param charsToDelete
* a set of characters to delete. Useful for deleting unwanted line breaks: e.g. "\r\n\f" will
* delete all new lines and line feeds in a String.
* @return an array of the tokens in the list
* @see #tokenizeToStringArray
*/
public static String[] delimitedListToStringArray(final String str,
final String delimiter, final String charsToDelete) {
if (str == null)
return new String[0];
if (delimiter == null)
return new String[] { str };
final Listresult = new ArrayList();
if ("".equals(delimiter)) {
for (int i = 0; i < str.length(); i++) {
result.add(deleteAny(str.substring(i, i + 1), charsToDelete));
}
} else {
int pos = 0;
int delPos;
while ((delPos = str.indexOf(delimiter, pos)) != -1) {
result.add(deleteAny(str.substring(pos, delPos),
charsToDelete));
pos = delPos + delimiter.length();
}
if ((str.length() > 0) && (pos <= str.length())) {
// Add rest of String, but not in case of empty input.
result.add(deleteAny(str.substring(pos), charsToDelete));
}
}
return toStringArray(result);
}
/**
* Delete any character in a given String.
*
* @param inString
* the original String
* @param charsToDelete
* a set of characters to delete. E.g. "az\n" will delete 'a's, 'z's and new lines.
* @return the resulting String
*/
public static String deleteAny(final String inString,
final String charsToDelete) {
if (!hasLength(inString) || !hasLength(charsToDelete))
return inString;
final StringBuilder sb = new StringBuilder();
for (int i = 0; i < inString.length(); i++) {
final char c = inString.charAt(i);
if (charsToDelete.indexOf(c) == -1) {
sb.append(c);
}
}
return sb.toString();
}
/**
* Copy the given Collection into a String array. The Collection must contain String elements only.
*
* @param collection
* the Collection to copy
* @return the String array (null if the passed-in Collection was null)
*/
public static String[] toStringArray(final Collectioncollection) {
if (collection == null)
return null;
return collection.toArray(new String[collection.size()]);
}
/**
* Copy the given Enumeration into a String array. The Enumeration must contain String elements only.
*
* @param enumeration
* the Enumeration to copy
* @return the String array (null if the passed-in Enumeration was null)
*/
public static String[] toStringArray(
final Enumerationenumeration) {
if (enumeration == null)
return null;
final Listlist = Collections.list(enumeration);
return list.toArray(new String[list.size()]);
}
/**
* Check that the given CharSequence is neither null nor of length 0. Note: Will return
/**代码未完, 请加载全部代码(NowJava.com).**/