diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-10-11 22:49:16 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-10-11 22:49:16 -0300 |
| commit | 8923edffdb36b790014ff47301e53f7ede93ea0d (patch) | |
| tree | e1cff9168eb79110a8832249d208f2978f549a04 /base/src/main/java/bjc/utils/funcutils/StringUtils.java | |
| parent | 946cab444bc301d8a7c756a1bab039558288de89 (diff) | |
Cleanup more
Diffstat (limited to 'base/src/main/java/bjc/utils/funcutils/StringUtils.java')
| -rw-r--r-- | base/src/main/java/bjc/utils/funcutils/StringUtils.java | 105 |
1 files changed, 60 insertions, 45 deletions
diff --git a/base/src/main/java/bjc/utils/funcutils/StringUtils.java b/base/src/main/java/bjc/utils/funcutils/StringUtils.java index 62f78f5..ba4ebca 100644 --- a/base/src/main/java/bjc/utils/funcutils/StringUtils.java +++ b/base/src/main/java/bjc/utils/funcutils/StringUtils.java @@ -7,23 +7,24 @@ import java.util.regex.Pattern; import com.ibm.icu.text.BreakIterator; /** - * Utility methods for operations on strings + * Utility methods for operations on strings. * * @author ben - * */ public class StringUtils { /** * Check if a string consists only of one or more matches of a regular - * expression + * expression. * * @param input - * The string to check + * The string to check. + * * @param rRegex - * The regex to see if the string only contains matches - * of - * @return Whether or not the string consists only of multiple matches - * of the provided regex + * The regex to see if the string only contains matches of. + * + * @return + * Whether or not the string consists only of multiple matches of + * the provided regex. */ public static boolean containsOnly(final String input, final String rRegex) { if (input == null) @@ -36,18 +37,19 @@ public class StringUtils { * First, we match the beginning of the string. Then, we start a * non-capturing group whose contents are the passed in regex. * That group is then matched one or more times and the pattern - * matches to the end of the string + * matches to the end of the string. */ return input.matches("\\A(?:" + rRegex + ")+\\Z"); } /** - * Indent the string being built in a StringBuilder n levels + * Indent the string being built in a StringBuilder n levels. * * @param builder - * The builder to indent in + * The builder to indent in. + * * @param levels - * The number of levels to indent + * The number of levels to indent. */ public static void indentNLevels(final StringBuilder builder, final int levels) { for (int i = 0; i < levels; i++) { @@ -57,14 +59,17 @@ public class StringUtils { /** * Print out a deque with a special case for easily showing a deque is - * empty + * empty. * * @param <ContainedType> - * The type in the deque + * The type in the deque. + * * @param queue - * The deque to print - * @return A string version of the deque, with allowance for an empty - * deque + * The deque to print. + * + * @return + * A string version of the deque, with allowance for an empty + * deque. */ public static <ContainedType> String printDeque(final Deque<ContainedType> queue) { return queue.isEmpty() ? "(none)" : queue.toString(); @@ -74,14 +79,16 @@ public class StringUtils { * Converts a sequence to an English list. * * @param objects - * The sequence to convert to an English list. + * The sequence to convert to an English list. + * * @param join - * The string to use for separating the last element from - * the rest. + * The string to use for separating the last element from the rest. + * * @param comma - * The string to use as a comma + * The string to use as a comma * - * @return The sequence as an English list. + * @return + * The sequence as an English list. */ public static String toEnglishList(final Object[] objects, final String join, final String comma) { if (objects == null) throw new NullPointerException("Sequence must not be null"); @@ -93,32 +100,25 @@ public class StringUtils { switch (objects.length) { case 0: - /* - * Empty list. - */ + /* Empty list. */ break; case 1: - /* - * One item. - */ + /* One item. */ sb.append(objects[0].toString()); break; case 2: - /* - * Two items. - */ + /* Two items. */ sb.append(objects[0].toString()); sb.append(" " + joiner + " "); sb.append(objects[1].toString()); break; default: - /* - * Three or more items. - */ + /* Three or more items. */ for (int i = 0; i < objects.length - 1; i++) { sb.append(objects[i].toString()); sb.append(coma + " "); } + /* * Uncomment this to remove serial commas. * @@ -137,12 +137,13 @@ public class StringUtils { * Converts a sequence to an English list. * * @param objects - * The sequence to convert to an English list. + * The sequence to convert to an English list. + * * @param join - * The string to use for separating the last element from - * the rest. + * The string to use for separating the last element from the rest. * - * @return The sequence as an English list. + * @return + * The sequence as an English list. */ public static String toEnglishList(final Object[] objects, final String join) { return toEnglishList(objects, join, ","); @@ -152,25 +153,30 @@ public class StringUtils { * Converts a sequence to an English list. * * @param objects - * The sequence to convert to an English list. + * The sequence to convert to an English list. + * * @param and - * Whether to use 'and' or 'or'. + * Whether to use 'and' or 'or'. * - * @return The sequence as an English list. + * @return + * The sequence as an English list. */ public static String toEnglishList(final Object[] objects, final boolean and) { - if (and) + if (and) { return toEnglishList(objects, "and"); - else return toEnglishList(objects, "or"); + } else { + return toEnglishList(objects, "or"); + } } /** * Count the number of graphemes in a string. * * @param value - * The string to check. + * The string to check. * - * @return The number of graphemes in the string. + * @return + * The number of graphemes in the string. */ public static int graphemeCount(final String value) { final BreakIterator it = BreakIterator.getCharacterInstance(); @@ -184,6 +190,15 @@ public class StringUtils { return count; } + /** + * Count the number of times a pattern matches in a given string. + * + * @param value + * The string to count occurances in. + * + * @param pattern + * The pattern to count occurances of. + */ public static int countMatches(final String value, final String pattern) { Matcher mat = Pattern.compile(pattern).matcher(value); |
