diff options
Diffstat (limited to 'src/org/noreply/fancydress/misc/Util.java')
-rw-r--r-- | src/org/noreply/fancydress/misc/Util.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/org/noreply/fancydress/misc/Util.java b/src/org/noreply/fancydress/misc/Util.java index a111b88..d9b46da 100644 --- a/src/org/noreply/fancydress/misc/Util.java +++ b/src/org/noreply/fancydress/misc/Util.java @@ -234,4 +234,30 @@ public class Util { throw new ParseException("Cannot parse boolean expression "+s,0); } } + + /** + * Tokenize comma separated lists into single tokens. + * + * Single tokens are trimmed of whitespace. + * + * @param s string of comma separated items. + * @param separator a token separator + * @return an array of single tokens. + */ + public static String[] tokenize(String s, char separator) { + ArrayList list = new ArrayList(); + int indexFrom = 0; + int indexOf; + + do { + indexOf = s.indexOf(separator, indexFrom); + String v = (indexOf >= 0) ? + s.substring(indexFrom, indexOf).trim() : + s.substring(indexFrom).trim(); + list.add( v ); + indexFrom = indexOf + 1; + } while (indexOf >= 0); + + return (String[]) list.toArray(new String[list.size()]); + } } |