edu.northwestern.at.utils

## Class StringUtils

- java.lang.Object
- - edu.northwestern.at.utils.StringUtils

-     public class StringUtils
      extends java.lang.Object

  String utilities.

  This static class provides various utility methods for manipulating strings.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String[]` | `asciiControlCharacterNames` Ascii control character character names for display.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `StringUtils()` Don't allow instantiation, do allow overrides.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `areOrAreNot(boolean bool)` Return "are", "are not" based upon boolean value.
    `static java.lang.String` | `arrayToString(java.lang.Object[] array)` Convert array contents to string.
    `static int` | `balPos(java.lang.StringBuffer s, int start, char lChar, char rChar)` Find end position of balanced string.
    `static boolean` | `checkEmpty(java.lang.String s)` Checks if a string is null or empty.
    `static int` | `compare(java.util.Date d1, java.util.Date d2)` Compares two dates.
    `static int` | `compare(int n1, int n2)` Compares two ints.
    `static int` | `compare(long n1, long n2)` Compares two longs.
    `static int` | `compare(java.lang.String s1, java.lang.String s2)` Compares two case-sensitive strings.
    `static int` | `compareIgnoreCase(java.lang.String s1, java.lang.String s2)` Compares two case-insensitive strings.
    `static java.lang.String` | `compressMultipleOccurrences(java.lang.String s, char c)` Compress multiple instances of a character in a string.
    `static boolean` | `containsIgnoreCaseWholeWord(java.lang.String str1, java.lang.String str2)` Returns true if a string contains another case-insensitive string as a whole word.
    `static int` | `countChar(java.lang.StringBuffer sb, char ch)` Count occurrences of character in string buffer.
    `static int` | `countChar(java.lang.String s, char ch)` Count occurrences of character in string.
    `static int` | `countOccurrences(java.lang.String source, java.lang.String searchString)` Count occurrences of string in another string.
    `static java.lang.String` | `deleteChar(java.lang.String str, char ch)` Delete all occurrences of a specified character from a string.
    `static java.lang.String` | `deleteParenthesizedText(java.lang.String s)` Deletes parenthesized text from a string.
    `static java.lang.String` | `deleteUnparenthesizedText(java.lang.String s)` Deletes unparenthesized text from a string.
    `static java.lang.String` | `displayableString(java.lang.String s)` Displayable string with control characters mapped to form.
    `static java.lang.String` | `displayBooleanField(java.lang.String name, boolean value)` Displays a boolean field.
    `static java.lang.String` | `displayDoubleField(java.lang.String name, double value)` Displays a double field.
    `static java.lang.String` | `displayIntegerField(java.lang.String name, int value)` Displays an integer field.
    `static java.lang.String` | `displayStringField(java.lang.String name, java.lang.String value)` Displays a string field.
    `static java.lang.String` | `dupl(char ch, int n)` Duplicate character into string.
    `static java.lang.String` | `dupl(java.lang.String s, int n)` Duplicate string into string.
    `static java.lang.String` | `endOfString(java.lang.String str, int n)` Extract characters from end of a string..
    `static boolean` | `equals(java.lang.String s1, java.lang.String s2)` Returns true if two case-sensitive strings are equal.
    `static boolean` | `equalsIgnoreCase(java.lang.String s1, java.lang.String s2)` Returns true if two case-insensitive strings are equal.
    `static java.lang.String` | `escapeSpecialCharacters(java.lang.String s)` Escape special characters.
    `static int` | `extractNumber(java.lang.String str, int pos)` Extracts a number from a string.
    `static java.lang.String` | `firstLine(java.lang.String str)` Returns the first line of a string.
    `static java.lang.String` | `formatNumberWithCommas(int n)` Formats a number with commas.
    `static java.lang.String` | `formatNumberWithCommas(long n)` Formats a number with commas.
    `static java.lang.String` | `getFirstTokenFromBytes(byte[] bytes, int nBytes)` Gets the first token from an array of bytes.
    `static java.lang.String` | `getStringFromUTF8Bytes(byte[] bytes)` Get string from utf-8 bytes.
    `static byte[]` | `getUTF8Bytes(java.lang.String s)` Get utf-8 bytes for a string.
    `static java.lang.String` | `haveOrHaveNot(boolean bool)` Return "have", "have not" based upon boolean value.
    `static int` | `indexOfIgnoreCase(java.lang.String str1, java.lang.String str2)` Searches a string for a case-insensitive substring match.
    `static int` | `indexOfIgnoreCase(java.lang.String str1, java.lang.String str2, int fromIndex)` Searches a string for a case-insensitive substring match.
    `static int` | `indexOfIgnoreCaseWholeWord(java.lang.String str1, java.lang.String str2, int fromIndex)` Searches a string for a case-insensitive whole word substring match.
    `static java.lang.String` | `intersperseTextLines(java.lang.String s1, java.lang.String s2, java.lang.String s1Prefix, java.lang.String s1Suffix, java.lang.String s2Prefix, java.lang.String s2Suffix)` Intersperse text lines from two files.
    `static java.lang.String` | `intToString(int intValue)` Convert integer to string.
    `static java.lang.String` | `intToStringWithZeroFill(int intValue, int width)` Convert integer to string with left zero fill.
    `static java.lang.String` | `isOrIsNot(boolean bool)` Return "is", "is not" based upon boolean value.
    `static boolean` | `isRegularExpression(java.lang.String s)` See if string is a regular expression.
    `static java.lang.String` | `join(java.lang.Iterable<? extends java.lang.CharSequence> sequence)` Join members of a character sequence into a string.
    `static java.lang.String` | `join(java.lang.Iterable<? extends java.lang.CharSequence> sequence, java.lang.String delimeter)` Join members of a character sequence into a string.
    `static java.lang.String` | `join(java.lang.Object[] array, java.lang.String delimeter)` Join members of an array into a string.
    `static java.lang.String` | `longToString(long longValue)` Convert long to string.
    `static java.lang.String` | `longToStringWithZeroFill(long longValue, int width)` Convert long to string with left zero fill.
    `static java.lang.String` | `lpad(java.lang.String s, int width)` Left pad string with blanks to specified width.
    `static java.lang.String[]` | `makeTokenArray(java.lang.String source)` Break up a string into an array of string tokens.
    `static java.lang.String[]` | `makeTokenArray(java.lang.String source, java.lang.String delim)` Break up a string into an array of string tokens.
    `static int` | `matchingFinalCharacters(java.lang.String s1, java.lang.String s2)` Compute length of matching final strings.
    `static int` | `matchingInitialCharacters(java.lang.String s1, java.lang.String s2)` Compute length of matching initial strings.
    `static java.lang.String` | `objectToString(java.lang.Object object)` Convert object to string representation.
    `static java.lang.String` | `ordinalize(int number, boolean addCommas)` Convert number to ordinal English form.
    `static int` | `parseNumberWithCommas(java.lang.String str)` Parses a number with commas.
    `static java.lang.String` | `pluralize(int count, java.lang.String singular, java.lang.String plural)` Select singular or plural string based upon count.
    `static java.lang.String` | `pluralize(long count, java.lang.String singular, java.lang.String plural)` Select singular or plural string based upon count.
    `static java.lang.String` | `replaceAll(java.lang.String str, java.lang.String s, java.lang.String r)` Replaces all substrings of a string.
    `static java.lang.String` | `replaceFirst(java.lang.String str, java.lang.String s, java.lang.String r)` Replaces first substring of a string.
    `static java.lang.String` | `reverseString(java.lang.String s)` Reverse a string.
    `static java.lang.String` | `rpad(java.lang.String s, int width)` Right pad string with blanks to specified width.
    `static java.lang.String` | `safeString(java.lang.String s)` Makes possibly null string safe for comparisons.
    `static java.lang.String` | `startOfString(java.lang.String str, int n)` Extract characters from start of a string..
    `static java.lang.String` | `stringToHexString(java.lang.String s)` Convert characters in a string to hex format.
    `static int` | `stringToInt(java.lang.String strValue)` Convert string to integer.
    `static int` | `stringToInt(java.lang.String strValue, int defaultValue)` Convert string to integer.
    `static long` | `stringToLong(java.lang.String strValue)` Convert string to long.
    `static long` | `stringToLong(java.lang.String strValue, long defValue)` Convert string to long.
    `static java.lang.String` | `stripCharacterRuns(java.lang.String s)` Remove runs of multiple characters from a string.
    `static java.lang.String` | `stripChars(java.lang.String s, java.lang.String charsToStrip)` Strip specified characters from a string.
    `static java.lang.String` | `substring(java.lang.String str, int start, int end)` Find substring of a string.
    `static java.lang.String` | `trim(java.lang.String s)` Trims a string.
    `static java.lang.String` | `truncate(java.lang.String str, int n)` Truncates a string and appends an ellipsis.
    `static java.lang.String` | `upperCaseFirstChar(java.lang.String str)` Converts the first character of a string to upper case.
    `static java.lang.String` | `wrapLine(java.lang.String line, java.lang.String newline, int wrapColumn)` Wrap one line of text.
    `static java.lang.String` | `wrapText(java.lang.String inString, java.lang.String newline, int wrapColumn)` Lines wraps a block of text.
    `static java.lang.String` | `yesNo(boolean yesno)` Returns "yes" or "no" for boolean value.
    `static java.lang.String` | `zeroPad(java.lang.String s, int length)` Pad string with leading zeros.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### asciiControlCharacterNames

          public static final java.lang.String[] asciiControlCharacterNames

      Ascii control character character names for display.

  - ### Constructor Detail

    - #### StringUtils

          protected StringUtils()

      Don't allow instantiation, do allow overrides.

  - ### Method Detail

    - #### arrayToString

          public static java.lang.String arrayToString(java.lang.Object[] array)

      Convert array contents to string.
      Parameters:
        `array` - The array to convert to a string.
      Returns:
        Array entries as a string.

        N.B. This method assumes the array values have toString() methods.

    - #### balPos

          public static int balPos(java.lang.StringBuffer s,
                   int start,
                   char lChar,
                   char rChar)

      Find end position of balanced string.
      Parameters:
        `s` - The string.
        `start` - Starting offset in string.
        `lChar` - Left delimiter.
        `rChar` - Right delimiter to match left delimiter.
      Returns:
        The ending offset of the matching balanced string. -1 if not found.

    - #### countChar

          public static int countChar(java.lang.StringBuffer sb,
                      char ch)

      Count occurrences of character in string buffer.
      Parameters:
        `sb` - The string buffer.
        `ch` - The character.
      Returns:
        Number of occurrences of ch in sb.

    - #### countChar

          public static int countChar(java.lang.String s,
                      char ch)

      Count occurrences of character in string.
      Parameters:
        `s` - The string.
        `ch` - The character.
      Returns:
        Number of occurrences of ch in s.

    - #### countOccurrences

          public static int countOccurrences(java.lang.String source,
                             java.lang.String searchString)

      Count occurrences of string in another string.
      Parameters:
        `source` - The source string.
        `searchString` - The string for which to search.
      Returns:
        Number of occurrences of searchString in source.

    - #### deleteChar

          public static java.lang.String deleteChar(java.lang.String str,
                                    char ch)

      Delete all occurrences of a specified character from a string.
      Parameters:
        `str` - The string.
        `ch` - The character to delete.
      Returns:
        The string with any occurrences of "ch" removed.

    - #### displayableString

          public static java.lang.String displayableString(java.lang.String s)

      Displayable string with control characters mapped to form.
      Parameters:
        `s` - The string.
      Returns:
        Input string with control characters mapped to form, e.g., for ascii 13.

    - #### displayBooleanField

          public static java.lang.String displayBooleanField(java.lang.String name,
                                             boolean value)

      Displays a boolean field.
      Parameters:
        `name` - The field name.
        `value` - The field value.
      Returns:
        "name = true" or "name = false".

    - #### displayIntegerField

          public static java.lang.String displayIntegerField(java.lang.String name,
                                             int value)

      Displays an integer field.
      Parameters:
        `name` - The field name.
        `value` - The field value.
      Returns:
        "name = value".

    - #### displayDoubleField

          public static java.lang.String displayDoubleField(java.lang.String name,
                                            double value)

      Displays a double field.
      Parameters:
        `name` - The field name.
        `value` - The field value.
      Returns:
        "name = value".

    - #### displayStringField

          public static java.lang.String displayStringField(java.lang.String name,
                                            java.lang.String value)

      Displays a string field.
      Parameters:
        `name` - The field name.
        `value` - The field value.
      Returns:
        "name = value". If the value has multiple lines the extra lines are displayed indented so that they line up with the fist line.

    - #### dupl

          public static java.lang.String dupl(char ch,
                              int n)

      Duplicate character into string.
      Parameters:
        `ch` - The character to be duplicated.
        `n` - The number of duplicates desired.
      Returns:
        String containing "n" copies of "ch".

        if n <= 0, the empty string "" is returned.

    - #### dupl

          public static java.lang.String dupl(java.lang.String s,
                              int n)

      Duplicate string into string.
      Parameters:
        `s` - The string to be duplicated.
        `n` - The number of duplicates desired.
      Returns:
        String containing "n" copies of "s".

        if n <= 0, the empty string "" is returned.

    - #### getUTF8Bytes

          public static byte[] getUTF8Bytes(java.lang.String s)

      Get utf-8 bytes for a string.
      Parameters:
        `s` - The string.
      Returns:
        Byte array containing utf-8 characters for string "s".

    - #### getStringFromUTF8Bytes

          public static java.lang.String getStringFromUTF8Bytes(byte[] bytes)

      Get string from utf-8 bytes.
      Parameters:
        `bytes` - Byte array to convert to string.
      Returns:
        The string. Null if conversion fails.

    - #### equals

          public static boolean equals(java.lang.String s1,
                       java.lang.String s2)

      Returns true if two case-sensitive strings are equal.

      Nulls are permitted and are equal only to themselves.

      Parameters:
        `s1` - String 1.
        `s2` - String 2.
      Returns:
        True if string 1 = string 2.

    - #### equalsIgnoreCase

          public static boolean equalsIgnoreCase(java.lang.String s1,
                                 java.lang.String s2)

      Returns true if two case-insensitive strings are equal.

      Nulls are permitted and are equal only to themselves.

      Parameters:
        `s1` - String 1.
        `s2` - String 2.
      Returns:
        True if string 1 = string 2.

    - #### compare

          public static int compare(java.lang.String s1,
                    java.lang.String s2)

      Compares two case-sensitive strings.

      Nulls are permitted and are less than non-nulls.

      Parameters:
        `s1` - String 1.
        `s2` - String 2.
      Returns:
        < 0 if string 1 < string 2, 0 if string 1 = string 2, > 0 if string 1 > string 2.

    - #### compareIgnoreCase

          public static int compareIgnoreCase(java.lang.String s1,
                              java.lang.String s2)

      Compares two case-insensitive strings.

      Nulls are permitted and are less than non-nulls.

      Parameters:
        `s1` - String 1.
        `s2` - String 2.
      Returns:
        < 0 if string 1 < string 2, 0 if string 1 = string 2, > 0 if string 1 > string 2.

    - #### compare

          public static int compare(java.util.Date d1,
                    java.util.Date d2)

      Compares two dates.

      Nulls are permitted and are less than non-nulls.

      Parameters:
        `d1` - Date 1.
        `d2` - Date 2.
      Returns:
        < 0 if date 1 < date 2, 0 if date 1 = date 2, > 0 if date 1 > date 2.

    - #### compare

          public static int compare(int n1,
                    int n2)

      Compares two ints.
      Parameters:
        `n1` - Int 1.
        `n2` - Int 2.
      Returns:
        -1 if n1 < n2, 0 if n1 = n2, +1 if n1 > n2.

    - #### compare

          public static int compare(long n1,
                    long n2)

      Compares two longs.
      Parameters:
        `n1` - Long 1.
        `n2` - Long 2.
      Returns:
        -1 if n1 < n2, 0 if n1 = n2, +1 if n1 > n2.

    - #### indexOfIgnoreCase

          public static int indexOfIgnoreCase(java.lang.String str1,
                              java.lang.String str2,
                              int fromIndex)

      Searches a string for a case-insensitive substring match.
      Parameters:
        `str1` - The string to be searched.
        `str2` - The substring to search for, converted to lower case.
        `fromIndex` - The index at which to start the search.
      Returns:
        The index of the match, or -1 if none.

    - #### indexOfIgnoreCase

          public static int indexOfIgnoreCase(java.lang.String str1,
                              java.lang.String str2)

      Searches a string for a case-insensitive substring match.
      Parameters:
        `str1` - The string to be searched.
        `str2` - The substring to search for, converted to lower case.
      Returns:
        The index of the match, or -1 if none.

    - #### indexOfIgnoreCaseWholeWord

          public static int indexOfIgnoreCaseWholeWord(java.lang.String str1,
                                       java.lang.String str2,
                                       int fromIndex)

      Searches a string for a case-insensitive whole word substring match.
      Parameters:
        `str1` - The string to be searched.
        `str2` - The substring to search for, converted to lower case.
        `fromIndex` - The index to start the search from.
      Returns:
        The index of the match, or -1 if none.

    - #### containsIgnoreCaseWholeWord

          public static boolean containsIgnoreCaseWholeWord(java.lang.String str1,
                                            java.lang.String str2)

      Returns true if a string contains another case-insensitive string as a whole word.
      Parameters:
        `str1` - The string to be searched.
        `str2` - The substring to search for.
      Returns:
        True if str1 contains str2 as a case-insensitive whole word.

    - #### extractNumber

          public static int extractNumber(java.lang.String str,
                          int pos)
                                   throws java.text.ParseException

      Extracts a number from a string.
      Parameters:
        `str` - The string.
        `pos` - The position within the string.
      Returns:
        The number.
      Throws:
        `java.text.ParseException` - If invalid number.

    - #### getFirstTokenFromBytes

          public static java.lang.String getFirstTokenFromBytes(byte[] bytes,
                                                int nBytes)

      Gets the first token from an array of bytes.
      Parameters:
        `bytes` - The bytes.
        `nBytes` - The number of bytes to scan.
      Returns:
        The first token as a string.

        The first token is defined to end at a space, a tab, a carriage return, or a linefeed.

    - #### firstLine

          public static java.lang.String firstLine(java.lang.String str)

      Returns the first line of a string.
      Parameters:
        `str` - The string.
      Returns:
        Null if str is null, else the first line of str.

    - #### formatNumberWithCommas

          public static java.lang.String formatNumberWithCommas(int n)

      Formats a number with commas.
      Parameters:
        `n` - The number (int).
      Returns:
        The formatted number with commas.

    - #### formatNumberWithCommas

          public static java.lang.String formatNumberWithCommas(long n)

      Formats a number with commas.
      Parameters:
        `n` - The number (long).
      Returns:
        The formatted number with commas.

    - #### parseNumberWithCommas

          public static int parseNumberWithCommas(java.lang.String str)
                                           throws java.text.ParseException

      Parses a number with commas.
      Parameters:
        `str` - The string.
      Returns:
        The parsed number.
      Throws:
        `java.text.ParseException` - Invalid number.

    - #### safeString

          public static java.lang.String safeString(java.lang.String s)

      Makes possibly null string safe for comparisons.
      Parameters:
        `s` - Input string which may be null.
      Returns:
        The input string if not null, other an empty string.

    - #### replaceAll

          public static java.lang.String replaceAll(java.lang.String str,
                                    java.lang.String s,
                                    java.lang.String r)

      Replaces all substrings of a string.
      Parameters:
        `str` - The string.
        `s` - Substring to be replaced.
        `r` - Replacement string.
      Returns:
        The string with all substrings replaced.

    - #### replaceFirst

          public static java.lang.String replaceFirst(java.lang.String str,
                                      java.lang.String s,
                                      java.lang.String r)

      Replaces first substring of a string.
      Parameters:
        `str` - The string.
        `s` - Substring to be replaced.
        `r` - Replacement string.
      Returns:
        The string with the first substring replaced.

    - #### checkEmpty

          public static boolean checkEmpty(java.lang.String s)

      Checks if a string is null or empty.
      Parameters:
        `s` - String to be checked.
      Returns:
        True if string is null or empty.

    - #### yesNo

          public static java.lang.String yesNo(boolean yesno)

      Returns "yes" or "no" for boolean value.
      Parameters:
        `yesno` - Boolean value to be checked.
      Returns:
        "yes" if yesno is true, else "no"

    - #### areOrAreNot

          public static java.lang.String areOrAreNot(boolean bool)

      Return "are", "are not" based upon boolean value.
      Parameters:
        `bool` - Boolean value.
      Returns:
        "are" if bool is true, "are not" if false.

    - #### isOrIsNot

          public static java.lang.String isOrIsNot(boolean bool)

      Return "is", "is not" based upon boolean value.
      Parameters:
        `bool` - Boolean value.
      Returns:
        "is" if bool is true, "is not" if false.

    - #### haveOrHaveNot

          public static java.lang.String haveOrHaveNot(boolean bool)

      Return "have", "have not" based upon boolean value.
      Parameters:
        `bool` - Boolean value.
      Returns:
        "have" if bool is true, "have not" if false.

    - #### stringToInt

          public static int stringToInt(java.lang.String strValue,
                        int defaultValue)

      Convert string to integer.
      Parameters:
        `strValue` - The string to convert.
        `defaultValue` - Default value if conversion error occurs.
      Returns:
        The string converted to an integer.

    - #### stringToHexString

          public static java.lang.String stringToHexString(java.lang.String s)

      Convert characters in a string to hex format.
      Parameters:
        `s` - The string to convert to hex.
      Returns:
        The hex version of the string.

    - #### makeTokenArray

          public static java.lang.String[] makeTokenArray(java.lang.String source,
                                          java.lang.String delim)

      Break up a string into an array of string tokens.
      Parameters:
        `source` - The source string.
        `delim` - The delimiter.
      Returns:
        The array of tokens extracted from the source.

    - #### makeTokenArray

          public static java.lang.String[] makeTokenArray(java.lang.String source)

      Break up a string into an array of string tokens.
      Parameters:
        `source` - The source string.
      Returns:
        The array of tokens extracted from the source.

    - #### objectToString

          public static java.lang.String objectToString(java.lang.Object object)

      Convert object to string representation.
      Parameters:
        `object` - The object to be converted to a string representation.
      Returns:
        The string representation. This looks like [a, b, c ... ] for an array. If the object is not an array, its toString() method is used instead. Null objects are returned as "".

        The regular java toString() routine for arrays is brain-dead: it returns the hashcode/address of the array rather than a useful representation of the array contents.

    - #### pluralize

          public static java.lang.String pluralize(int count,
                                   java.lang.String singular,
                                   java.lang.String plural)

      Select singular or plural string based upon count.
      Parameters:
        `count` - The number of items.
        `singular` - The output string iif count==1 .
        `plural` - The output string iif count!=1 .
      Returns:
        Either singular or plural, based upon value of count.

    - #### pluralize

          public static java.lang.String pluralize(long count,
                                   java.lang.String singular,
                                   java.lang.String plural)

      Select singular or plural string based upon count.
      Parameters:
        `count` - The number of items.
        `singular` - The output string iif count==1 .
        `plural` - The output string iif count!=1 .
      Returns:
        Either singular or plural, based upon value of count.

    - #### intToString

          public static java.lang.String intToString(int intValue)

      Convert integer to string.
      Parameters:
        `intValue` - The integer to convert.
      Returns:
        The integer converted to a string.

    - #### intToStringWithZeroFill

          public static java.lang.String intToStringWithZeroFill(int intValue,
                                                 int width)

      Convert integer to string with left zero fill.
      Parameters:
        `intValue` - The integer to convert.
        `width` - Width of result field.
      Returns:
        The integer converted to a string with enough leading zeros to fill the specified field width.

    - #### longToString

          public static java.lang.String longToString(long longValue)

      Convert long to string.
      Parameters:
        `longValue` - The long to convert.
      Returns:
        The long converted to a string.

    - #### longToStringWithZeroFill

          public static java.lang.String longToStringWithZeroFill(long longValue,
                                                  int width)

      Convert long to string with left zero fill.
      Parameters:
        `longValue` - The long to convert.
        `width` - Width of result field.
      Returns:
        The long converted to a string with enough leading zeros to fill the specified field width.

    - #### lpad

          public static java.lang.String lpad(java.lang.String s,
                              int width)

      Left pad string with blanks to specified width.
      Parameters:
        `s` - The string to pad.
        `width` - The width to pad to.
      Returns:
        "s" padded with enough blanks on left to be "width" columns wide.

    - #### rpad

          public static java.lang.String rpad(java.lang.String s,
                              int width)

      Right pad string with blanks to specified width.
      Parameters:
        `s` - The string to pad.
        `width` - The width to pad to.
      Returns:
        "s" padded with enough blanks on right to be "width" columns wide.

    - #### stringToInt

          public static int stringToInt(java.lang.String strValue)
                                 throws java.lang.NumberFormatException

      Convert string to integer.
      Parameters:
        `strValue` - The string to convert.
      Returns:
        The string converted to an integer.
      Throws:
        `java.lang.NumberFormatException`

    - #### stringToLong

          public static long stringToLong(java.lang.String strValue)
                                   throws java.lang.NumberFormatException

      Convert string to long.
      Parameters:
        `strValue` - The string to convert.
      Returns:
        The string converted to a long.
      Throws:
        `java.lang.NumberFormatException`

    - #### stringToLong

          public static long stringToLong(java.lang.String strValue,
                          long defValue)

      Convert string to long.
      Parameters:
        `strValue` - The string to convert.
        `defValue` - Default value to return if string cannot be converted.
      Returns:
        The string converted to a long.

    - #### startOfString

          public static java.lang.String startOfString(java.lang.String str,
                                       int n)

      Extract characters from start of a string..
      Parameters:
        `str` - The string.
        `n` - Maximum number of characters to extract.
      Returns:
        The substring starting at the first character and extending up the minimum of the string length or n. An empty string returned if the input string is null.

    - #### endOfString

          public static java.lang.String endOfString(java.lang.String str,
                                     int n)

      Extract characters from end of a string..
      Parameters:
        `str` - The string.
        `n` - Maximum number of characters to extract.
      Returns:
        The substring starting at the minimum of the first character or the last character - n in the string and extending up the end of the string. An empty string returned if the input string is null.

    - #### substring

          public static java.lang.String substring(java.lang.String str,
                                   int start,
                                   int end)

      Find substring of a string.
      Parameters:
        `str` - The string.
        `start` - Starting character position (0 origin) of substring
        `end` - Ending character + 1 position of substring.
      Returns:
        The substring. Empty string if input is null or the substring doesn't exist.

        Works like usual String class substring, but handles problem values for start/end values without throwing exceptions.

    - #### wrapLine

          public static java.lang.String wrapLine(java.lang.String line,
                                  java.lang.String newline,
                                  int wrapColumn)

      Wrap one line of text.
      Parameters:
        `line` - A line which is in need of word-wrapping.
        `newline` - The characters that define a newline.
        `wrapColumn` - The column to wrap the words at.
      Returns:
        A line with newlines inserted.

    - #### wrapText

          public static java.lang.String wrapText(java.lang.String inString,
                                  java.lang.String newline,
                                  int wrapColumn)

      Lines wraps a block of text.
      Parameters:
        `inString` - Text which is in need of word-wrapping.
        `newline` - The characters that define a newline.
        `wrapColumn` - The column to wrap the words at.
      Returns:
        The text with all the long lines word-wrapped.

        This method wraps long lines based on the supplied wrapColumn parameter. Note: Remove or expand tabs before calling this method.

    - #### trim

          public static java.lang.String trim(java.lang.String s)

      Trims a string.
      Parameters:
        `s` - The string.
      Returns:
        The trimmed string. Leading and trailing white space characters are removed. If s is null, null is returned.

    - #### zeroPad

          public static java.lang.String zeroPad(java.lang.String s,
                                 int length)

      Pad string with leading zeros.
      Parameters:
        `s` - String to pad.
        `length` - Length to pad to.
      Returns:
        Input string left-padded with '0' characters to specified length.

    - #### intersperseTextLines

          public static java.lang.String intersperseTextLines(java.lang.String s1,
                                              java.lang.String s2,
                                              java.lang.String s1Prefix,
                                              java.lang.String s1Suffix,
                                              java.lang.String s2Prefix,
                                              java.lang.String s2Suffix)

      Intersperse text lines from two files.
      Parameters:
        `s1` - First string containing text lines.
        `s2` - Second string containing text lines.
        `s1Prefix` - Prefix for first string lines.
        `s1Suffix` - Suffix for first string lines.
        `s2Prefix` - Prefix for second string lines.
        `s2Suffix` - Suffix for second string lines.
      Returns:
        String with lines from s1 and s2 interspersed.

    - #### deleteParenthesizedText

          public static java.lang.String deleteParenthesizedText(java.lang.String s)

      Deletes parenthesized text from a string.
      Parameters:
        `s` - The string from which to remove parenthesized text.
      Returns:
        String with parenthesized text removed.

        Example:

        deleteParenthesizedText( "aaaa (bb) ccc (ddd) e" )

        yields

        "aaaa ccc e"

    - #### stripChars

          public static java.lang.String stripChars(java.lang.String s,
                                    java.lang.String charsToStrip)

      Strip specified characters from a string.
      Parameters:
        `s` - The string containing characters to strip.
        `charsToStrip` - The characters to strip.
      Returns:
        String with specified characters removed.

    - #### stripCharacterRuns

          public static java.lang.String stripCharacterRuns(java.lang.String s)

      Remove runs of multiple characters from a string.
      Returns:
        String with runs of multiple characters removed.

    - #### deleteUnparenthesizedText

          public static java.lang.String deleteUnparenthesizedText(java.lang.String s)

      Deletes unparenthesized text from a string.
      Parameters:
        `s` - The string from which to remove unparenthesized text.
      Returns:
        String with unparenthesized text removed. Left parentheses are also removed, and right parentheses replaced by a blank.

        Example:

        deleteUnparenthesizedText( "aaaa (bb) ccc (ddd) e" )

        yields

        "bb ddd"

    - #### compressMultipleOccurrences

          public static java.lang.String compressMultipleOccurrences(java.lang.String s,
                                                     char c)

      Compress multiple instances of a character in a string.
      Parameters:
        `s` - The string in which to compress multiple occurrences.
        `c` - Character whose multiple occurences should be compressed.
      Returns:
        String with multiple occurrences compressed.

        Example:

        compressMultipleOccurrences( "a b c" )

        yields

        "a b c"

    - #### isRegularExpression

          public static boolean isRegularExpression(java.lang.String s)

      See if string is a regular expression.
      Parameters:
        `s` - The string.
      Returns:
        true if the string appears to be a regular expression.

        A string is assumed to be a regular expression if it contains any of the followint characters:

              * + - [ ] . ^ & \ $ ? { } ? =

    - #### matchingInitialCharacters

          public static int matchingInitialCharacters(java.lang.String s1,
                                      java.lang.String s2)

      Compute length of matching initial strings.
      Parameters:
        `s1` - First string.
        `s2` - Second string.
      Returns:
        Number of matching initial characters.

    - #### matchingFinalCharacters

          public static int matchingFinalCharacters(java.lang.String s1,
                                    java.lang.String s2)

      Compute length of matching final strings.
      Parameters:
        `s1` - First string.
        `s2` - Second string.
      Returns:
        Number of matching final characters.

    - #### reverseString

          public static java.lang.String reverseString(java.lang.String s)

      Reverse a string.
      Parameters:
        `s` - String to reverse.
      Returns:
        Reversed string.

    - #### truncate

          public static java.lang.String truncate(java.lang.String str,
                                  int n)

      Truncates a string and appends an ellipsis.
      Parameters:
        `str` - String.
        `n` - Number of characters to retain.
      Returns:
        String truncated to n characters if necessary, with an ellipsis replacing the truncated characters.

    - #### upperCaseFirstChar

          public static java.lang.String upperCaseFirstChar(java.lang.String str)

      Converts the first character of a string to upper case.
      Parameters:
        `str` - String.
      Returns:
        String with first character mapped to upper case.

    - #### escapeSpecialCharacters

          public static java.lang.String escapeSpecialCharacters(java.lang.String s)

      Escape special characters.
      Parameters:
        `s` - String with possible special chracters to escape.
      Returns:
        Return string with special characters escaped. This allows the string to be displayed, for example. If the input string is null, so is the output string.

        The following characters are replaced by their "\"-escaped versions: double quote ", single quote ', new line \n, carriage return \r, tab \t, and backslash \.

    - #### join

          public static java.lang.String join(java.lang.Iterable<? extends java.lang.CharSequence> sequence,
                              java.lang.String delimeter)

      Join members of a character sequence into a string.
      Parameters:
        `sequence` - Character sequence to join into a string.
        `delimeter` - String to separate elements of sequence.
      Returns:
        Sequence joined into a single string with individual elements separated by the specified delimiter string.

    - #### join

          public static java.lang.String join(java.lang.Object[] array,
                              java.lang.String delimeter)

      Join members of an array into a string.
      Parameters:
        `array` - Array to join into a string.
        `delimeter` - String to separate elements of sequence.
      Returns:
        Array joined into a single string with individual elements separated by the specified delimiter string.

    - #### join

          public static java.lang.String join(java.lang.Iterable<? extends java.lang.CharSequence> sequence)

      Join members of a character sequence into a string.
      Parameters:
        `sequence` - Character sequence to join into a string.
      Returns:
        Sequence joined into a single string with individual elements separated by a blank.

    - #### ordinalize

          public static java.lang.String ordinalize(int number,
                                    boolean addCommas)

      Convert number to ordinal English form.
      Parameters:
        `number` - Number for which to get the ordinal value.
        `addCommas` - True to format numeric portion with commas.
      Returns:
        Ordinal representation of given number as string.