diff options
Diffstat (limited to 'src/org/jsoup/helper/StringUtil.java')
-rw-r--r-- | src/org/jsoup/helper/StringUtil.java | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/src/org/jsoup/helper/StringUtil.java b/src/org/jsoup/helper/StringUtil.java deleted file mode 100644 index 071a92c7a5..0000000000 --- a/src/org/jsoup/helper/StringUtil.java +++ /dev/null @@ -1,140 +0,0 @@ -package org.jsoup.helper; - -import java.util.Collection; -import java.util.Iterator; - -/** - * A minimal String utility class. Designed for internal jsoup use only. - */ -public final class StringUtil { - // memoised padding up to 10 - private static final String[] padding = {"", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; - - /** - * Join a collection of strings by a seperator - * @param strings collection of string objects - * @param sep string to place between strings - * @return joined string - */ - public static String join(Collection strings, String sep) { - return join(strings.iterator(), sep); - } - - /** - * Join a collection of strings by a seperator - * @param strings iterator of string objects - * @param sep string to place between strings - * @return joined string - */ - public static String join(Iterator strings, String sep) { - if (!strings.hasNext()) - return ""; - - String start = strings.next().toString(); - if (!strings.hasNext()) // only one, avoid builder - return start; - - StringBuilder sb = new StringBuilder(64).append(start); - while (strings.hasNext()) { - sb.append(sep); - sb.append(strings.next()); - } - return sb.toString(); - } - - /** - * Returns space padding - * @param width amount of padding desired - * @return string of spaces * width - */ - public static String padding(int width) { - if (width < 0) - throw new IllegalArgumentException("width must be > 0"); - - if (width < padding.length) - return padding[width]; - - char[] out = new char[width]; - for (int i = 0; i < width; i++) - out[i] = ' '; - return String.valueOf(out); - } - - /** - * Tests if a string is blank: null, emtpy, or only whitespace (" ", \r\n, \t, etc) - * @param string string to test - * @return if string is blank - */ - public static boolean isBlank(String string) { - if (string == null || string.length() == 0) - return true; - - int l = string.length(); - for (int i = 0; i < l; i++) { - if (!StringUtil.isWhitespace(string.codePointAt(i))) - return false; - } - return true; - } - - /** - * Tests if a string is numeric, i.e. contains only digit characters - * @param string string to test - * @return true if only digit chars, false if empty or null or contains non-digit chrs - */ - public static boolean isNumeric(String string) { - if (string == null || string.length() == 0) - return false; - - int l = string.length(); - for (int i = 0; i < l; i++) { - if (!Character.isDigit(string.codePointAt(i))) - return false; - } - return true; - } - - /** - * Tests if a code point is "whitespace" as defined in the HTML spec. - * @param c code point to test - * @return true if code point is whitespace, false otherwise - */ - public static boolean isWhitespace(int c){ - return c == ' ' || c == '\t' || c == '\n' || c == '\f' || c == '\r'; - } - - public static String normaliseWhitespace(String string) { - StringBuilder sb = new StringBuilder(string.length()); - - boolean lastWasWhite = false; - boolean modified = false; - - int l = string.length(); - for (int i = 0; i < l; i++) { - int c = string.codePointAt(i); - if (isWhitespace(c)) { - if (lastWasWhite) { - modified = true; - continue; - } - if (c != ' ') - modified = true; - sb.append(' '); - lastWasWhite = true; - } - else { - sb.appendCodePoint(c); - lastWasWhite = false; - } - } - return modified ? sb.toString() : string; - } - - public static boolean in(String needle, String... haystack) { - for (String hay : haystack) { - if (hay.equals(needle)) - return true; - } - return false; - } -} |