edu.northwestern.at.utils

## Class CharUtils

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

-     public class CharUtils
      extends java.lang.Object

  Character utilities.

  This class provides various static utility methods for manipulating characters.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.util.regex.Matcher` | `asteriskMatcher`
    `protected static java.util.regex.Pattern` | `asteriskPattern` Pattern for 1 or more asterisks.
    `static char` | `ASTERISM` Unicode asterism.
    `static java.lang.String` | `ASTERISM_STRING`
    `static char` | `BLACKCIRCLE` Unicode black circle/dot.
    `static java.lang.String` | `BLACKCIRCLE_STRING`
    `static char` | `BROKEN_VERTICAL_BAR` Broken vertical bar.
    `static java.lang.String` | `BROKEN_VERTICAL_BAR_STRING` Broken vertical bar string.
    `static char` | `CHAR_END_OF_TEXT_SECTION` End of text section marker character.
    `static java.lang.String` | `CHAR_END_OF_TEXT_SECTION_STRING`
    `static char` | `CHAR_FAKE_SOFT_HYPHEN` Substitute soft hyphen marker.
    `static java.lang.String` | `CHAR_FAKE_SOFT_HYPHEN_STRING`
    `static char` | `CHAR_GAP_MARKER` Gap marker inside words.
    `static java.lang.String` | `CHAR_GAP_MARKER_STRING` Gap marker inside words as string.
    `static char` | `CHAR_SUBSTITUTE_SINGLE_QUOTE` Substitute single quote character.
    `static java.lang.String` | `CHAR_SUBSTITUTE_SINGLE_QUOTE_STRING`
    `static char` | `CHAR_SUP_TEXT_MARKER` text marker.
    `static java.lang.String` | `CHAR_SUP_TEXT_MARKER_STRING`
    `static char` | `COMBINING_MACRON` Combining macron character.
    `static java.lang.String` | `COMBINING_MACRON_STRING` Combining macron string.
    `static char` | `DAGGER` Unicode dagger.
    `static java.lang.String` | `DAGGER_STRING`
    `static char` | `DEGREES_MARK` Degrees/Hours.
    `static java.lang.String` | `DEGREES_MARK_STRING`
    `static java.lang.String` | `digitsPattern` Digits pattern.
    `static char` | `DIVIDER_VERTICAL_BAR` Divider vertical bar.
    `static java.lang.String` | `DIVIDER_VERTICAL_BAR_STRING` Divider vertical bar string.
    `static char` | `DOTTEDCIRCLE` Unicode dotted circle.
    `static java.lang.String` | `DOTTEDCIRCLE_STRING`
    `static char` | `DOUBLE_DAGGER` Unicode double dagger.
    `static java.lang.String` | `DOUBLE_DAGGER_STRING`
    `static char` | `ELLIPSIS` Ellipsis (...) character.
    `static java.lang.String` | `ELLIPSIS_STRING`
    `static char` | `EURO_SIGN` New Euro symbol.
    `protected static java.util.regex.Matcher` | `hyphenMatcher`
    `protected static java.util.regex.Pattern` | `hyphenPattern` Pattern for 1 or more hyphens.
    `static char` | `INVISIBLE_SEPARATOR` Unicode invisible separator.
    `static java.lang.String` | `INVISIBLE_SEPARATOR_STRING`
    `static char` | `LDQUOTE` Left double curly quote.
    `static java.lang.String` | `LDQUOTE_STRING`
    `static char` | `LEFT_ANGLE_BRACKET` Unicode left angle bracket.
    `static java.lang.String` | `LEFT_ANGLE_BRACKET_STRING`
    `protected static java.util.regex.Matcher` | `lettersMatcher`
    `protected static java.util.regex.Pattern` | `lettersPattern` Pattern for Unicode letters only.
    `static char` | `LIGHT_VERTICAL_BAR` Light vertical bar.
    `static java.lang.String` | `LIGHT_VERTICAL_BAR_STRING` Light vertical bar string.
    `static char` | `LONG_DASH` Long dash.
    `static java.lang.String` | `LONG_DASH_STRING` Long dash string.
    `static char` | `LONG_S` Long s.
    `static java.lang.String` | `LONG_S_STRING`
    `static char` | `LOZENGE` Unicode lozenge.
    `static java.lang.String` | `LOZENGE_STRING`
    `static char` | `LSQUOTE` Left single curly quote.
    `static java.lang.String` | `LSQUOTE_STRING`
    `static char` | `MINUTES_MARK`
    `static char` | `NONBREAKING_BLANK` Nonbreaking blank character.
    `static java.lang.String` | `NONBREAKING_BLANK_STRING` Nonbreaking blank string.
    `static char` | `NONBREAKING_HYPHEN` Nonbreaking hyphen character.
    `static java.lang.String` | `NONBREAKING_HYPHEN_STRING` Nonbreaking hyphen string.
    `static char` | `OLD_EURO_SIGN` Old Euro symbol.
    `static java.lang.String` | `ordinalNumberPattern` Ordinal number pattern (English only!)
    `static char` | `PARAGRAPH` Paragraph.
    `static java.lang.String` | `PARAGRAPH_STRING`
    `protected static java.util.regex.Matcher` | `possessiveAsteriskMatcher`
    `protected static java.util.regex.Pattern` | `possessiveAsteriskPattern` Pattern for 1 or more asterisks followed by 's.
    `protected static java.util.regex.Matcher` | `possessiveDashesMatcher`
    `protected static java.util.regex.Pattern` | `possessiveDashesPattern` Pattern for 2 or more dashes followed by 's.
    `protected static java.util.regex.Matcher` | `punctuationMatcher`
    `protected static java.util.regex.Pattern` | `punctuationPattern` Pattern for punctuation only.
    `protected static java.util.Set<java.lang.Integer>` | `punctuationSet` Set of punctuation values.
    `static char` | `RDQUOTE` Right double curly quote.
    `static java.lang.String` | `RDQUOTE_STRING`
    `static char` | `RIGHT_ANGLE_BRACKET` Unicode right angle bracket.
    `static java.lang.String` | `RIGHT_ANGLE_BRACKET_STRING`
    `static char` | `RLSQUOTE` Right low single curly quote.
    `static java.lang.String` | `RLSQUOTE_STRING`
    `static char` | `RSQUOTE` Right single curly quote.
    `static java.lang.String` | `RSQUOTE_STRING`
    `static char` | `SECONDS_MARK`
    `static char` | `SECTION_SIGN` Section sign.
    `static java.lang.String` | `SECTION_SIGN_STRING`
    `static char` | `SHORT_DASH` Long dash.
    `static java.lang.String` | `SHORT_DASH_STRING` Short dash string.
    `static char` | `SOLAR_CIRCLE` Solar circle character.
    `static java.lang.String` | `SOLAR_CIRCLE_STRING`
    `static char` | `SOLIDCIRCLE` Unicode filled-in circle/dot.
    `static java.lang.String` | `SOLIDCIRCLE_STRING`
    `static java.lang.String` | `SPAN_GAP_MARKER` Span gap marker.
    `protected static java.util.Set<java.lang.Integer>` | `subscriptSet` Set of subscript characters.
    `protected static java.util.Set<java.lang.Integer>` | `superscriptSet` Set of superscript characters.
    `protected static java.util.Set<java.lang.Integer>` | `symbolSet` Set of symbol values.
    `static char` | `UNKNOWN_PUNC` Unknown punctuation marker.
    `static char` | `VERTICAL_BAR` Vertical bar.
    `static java.lang.String` | `VERTICAL_BAR_STRING` Vertical bar string.
    `protected static java.util.regex.Matcher` | `wordMatcher`
    `protected static java.util.regex.Pattern` | `wordPattern` Pattern for Unicode word.

  - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `allLettersCapital(java.lang.String s)` True if all letters in a string are uppercase.
    `static java.lang.String` | `capitalizeFirstLetter(java.lang.String s)` Capitalize first letter in string.
    `static boolean` | `endsWithSingleQuote(java.lang.String s)` True if string ends with single quote.
    `static boolean` | `endsWithSingleQuoteS(java.lang.String s)` True if string ends with "single quote + s".
    `static java.lang.String` | `evictDashes(java.lang.String s)` Evict dashes from a string.
    `static java.lang.String` | `getCaseOld(java.lang.String s)` Get case value for a string.
    `static int` | `getLetterCase(java.lang.String s)` Get case value for a string.
    `static boolean` | `hasApostrophe(java.lang.String s)` True if string contains at least one apostrophe.
    `static boolean` | `hasCapitalLetter(java.lang.String s)` True if string contains at least one capital letter.
    `static boolean` | `hasDash(java.lang.String s)` True if string contains a dash of some kind.
    `static boolean` | `hasDigit(java.lang.String s)` True if at least one character in a string is a digit.
    `static boolean` | `hasGapCharacter(java.lang.String s)` True if string contains at least one gap marker character.
    `static boolean` | `hasGapMarkers(java.lang.String s)` True if any characters in a string are gap markers.
    `static boolean` | `hasGreekLetters(java.lang.String s)` True if any characters in a string are Greek letters.
    `static boolean` | `hasInternalCaps(java.lang.String s)` True if string contains internal capital letters.
    `static boolean` | `hasPeriod(java.lang.String s)` True if string contains at least one period.
    `static boolean` | `hasPunctuation(java.lang.String s)` True if any characters in a string are punctuation.
    `static boolean` | `hasPunctuationNotApostrophes(java.lang.String s)` True if any characters in a string are punctuation.
    `static boolean` | `hasSingleQuote(java.lang.String s)` True if string contains a single quote.
    `static boolean` | `hasSymbols(java.lang.String s)` True if any characters in a string are symbols.
    `static boolean` | `isAllAsterisks(java.lang.String s)` True if string is all asterisks.
    `static boolean` | `isAllCaps(java.lang.String s)` True if string is all caps.
    `static boolean` | `isAllHyphens(java.lang.String s)` True if string is all hyphens.
    `static boolean` | `isAllLowerCase(java.lang.String s)` True if string is all lower case.
    `static boolean` | `isAllPeriods(java.lang.String s)` True if string is all periods.
    `static boolean` | `isApostrophe(char c)` True if character is an apostrophe.
    `static boolean` | `isAWord(java.lang.String s)` Check if a string is a word (Unicode letters, digits, hyphen).
    `static boolean` | `isBreakingDash(char c)` True if character is a breaking dash of some kind.
    `static boolean` | `isCapitalLetter(char c)` Check if character is a capital letter.
    `static boolean` | `isClosingQuote(char c)` True if character is any kind of closing quote.
    `static boolean` | `isCurrency(java.lang.String token)` Check for currency.
    `static boolean` | `isDash(char c)` True if character is a dash of some kind.
    `static boolean` | `isDigit(char c)` True if character is a digit.
    `static boolean` | `isDigits(java.lang.String s)` True if all characters in a string are digits.
    `static boolean` | `isEnglishVowel(char c)` Is character an English vowel?
    `static boolean` | `isFirstLetterCapital(java.lang.String s)` True if first letter in a string is uppercase.
    `static boolean` | `isGapMarker(char c)` True if character is a gap marker.
    `static boolean` | `isGreekLetter(char c)` True if character is a Greek letter.
    `static boolean` | `isLetter(char c)` Check if character is a letter.
    `static boolean` | `isLetter(java.lang.String s)` Check if string is a single letter.
    `static boolean` | `isLetters(java.lang.String s)` Check if string contains only letters.
    `static boolean` | `isNumber(java.lang.String s)` True if a string is a number.
    `static boolean` | `isOpeningQuote(char c)` True if character is any kind of opening quote.
    `static boolean` | `isOrdinal(java.lang.String s)` True if a string is an ordinal number.
    `static boolean` | `isPossessiveAsterisks(java.lang.String s)` True if string is asterisks followed by 's.
    `static boolean` | `isPossessiveDashes(java.lang.String s)` True if string is two or more dashes followed by 's.
    `static boolean` | `isPunctuation(char ch)` True if character is punctuation.
    `static boolean` | `isPunctuation(java.lang.String s)` True if all characters in a string are punctuation.
    `static boolean` | `isPunctuationOrSymbol(char c)` True if character is punctuation or symbol.
    `static boolean` | `isPunctuationOrSymbol(java.lang.String s)` True if all characters in a string are punctuation or symbols.
    `static boolean` | `isSingleOpeningQuote(char c)` True if character is a single opening quote.
    `static boolean` | `isSingleQuote(char c)` True if character is single quote.
    `static boolean` | `isSingleQuoteS(java.lang.String s)` True if string is "single quote + s".
    `static boolean` | `isSubscript(char ch)` Is character a subscript character.
    `static boolean` | `isSuperscript(char ch)` Is character a superscript character.
    `static boolean` | `isSymbol(char ch)` True if character is symbol.
    `static boolean` | `isSymbol(java.lang.String s)` True if all characters in a string are symbols.
    `static boolean` | `isUpperCase(java.lang.String s)` True if all characters in a string are uppercase.
    `static boolean` | `isUSCurrency(java.lang.String token)` Check for US currency.
    `static boolean` | `isUSCurrencyCents(java.lang.String token)` Check for US currency with cents.
    `static boolean` | `isWhitespace(char c)` True if character is whitespace.
    `static java.lang.String` | `makeCaseMatch(java.lang.String s, java.lang.String sCaseToMatch)` Make case of string match another string's case.
    `static java.lang.String` | `normalizeString(java.lang.String s)` Convert super/subscript characters to normal equivalents.

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

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

- - ### Field Detail

    - #### punctuationSet

          protected static java.util.Set<java.lang.Integer> punctuationSet

      Set of punctuation values.

    - #### symbolSet

          protected static java.util.Set<java.lang.Integer> symbolSet

      Set of symbol values.

    - #### superscriptSet

          protected static java.util.Set<java.lang.Integer> superscriptSet

      Set of superscript characters.

    - #### subscriptSet

          protected static java.util.Set<java.lang.Integer> subscriptSet

      Set of subscript characters.

    - #### PARAGRAPH

          public static final char PARAGRAPH

      Paragraph.
      See Also:
        Constant Field Values

    - #### PARAGRAPH_STRING

          public static final java.lang.String PARAGRAPH_STRING

      See Also:
        Constant Field Values

    - #### SECTION_SIGN

          public static final char SECTION_SIGN

      Section sign.
      See Also:
        Constant Field Values

    - #### SECTION_SIGN_STRING

          public static final java.lang.String SECTION_SIGN_STRING

      See Also:
        Constant Field Values

    - #### LSQUOTE

          public static final char LSQUOTE

      Left single curly quote.
      See Also:
        Constant Field Values

    - #### LSQUOTE_STRING

          public static final java.lang.String LSQUOTE_STRING

      See Also:
        Constant Field Values

    - #### RSQUOTE

          public static final char RSQUOTE

      Right single curly quote.
      See Also:
        Constant Field Values

    - #### RSQUOTE_STRING

          public static final java.lang.String RSQUOTE_STRING

      See Also:
        Constant Field Values

    - #### RLSQUOTE

          public static final char RLSQUOTE

      Right low single curly quote.
      See Also:
        Constant Field Values

    - #### RLSQUOTE_STRING

          public static final java.lang.String RLSQUOTE_STRING

      See Also:
        Constant Field Values

    - #### LDQUOTE

          public static final char LDQUOTE

      Left double curly quote.
      See Also:
        Constant Field Values

    - #### LDQUOTE_STRING

          public static final java.lang.String LDQUOTE_STRING

      See Also:
        Constant Field Values

    - #### RDQUOTE

          public static final char RDQUOTE

      Right double curly quote.
      See Also:
        Constant Field Values

    - #### RDQUOTE_STRING

          public static final java.lang.String RDQUOTE_STRING

      See Also:
        Constant Field Values

    - #### SOLIDCIRCLE

          public static final char SOLIDCIRCLE

      Unicode filled-in circle/dot.
      See Also:
        Constant Field Values

    - #### SOLIDCIRCLE_STRING

          public static final java.lang.String SOLIDCIRCLE_STRING

      See Also:
        Constant Field Values

    - #### BLACKCIRCLE

          public static final char BLACKCIRCLE

      Unicode black circle/dot.
      See Also:
        Constant Field Values

    - #### BLACKCIRCLE_STRING

          public static final java.lang.String BLACKCIRCLE_STRING

      See Also:
        Constant Field Values

    - #### DEGREES_MARK

          public static final char DEGREES_MARK

      Degrees/Hours.
      See Also:
        Constant Field Values

    - #### DEGREES_MARK_STRING

          public static final java.lang.String DEGREES_MARK_STRING

      See Also:
        Constant Field Values

    - #### MINUTES_MARK

          public static final char MINUTES_MARK

      See Also:
        Constant Field Values

    - #### SECONDS_MARK

          public static final char SECONDS_MARK

      See Also:
        Constant Field Values

    - #### CHAR_GAP_MARKER

          public static final char CHAR_GAP_MARKER

      Gap marker inside words.
      See Also:
        Constant Field Values

    - #### CHAR_GAP_MARKER_STRING

          public static final java.lang.String CHAR_GAP_MARKER_STRING

      Gap marker inside words as string.
      See Also:
        Constant Field Values

    - #### CHAR_END_OF_TEXT_SECTION

          public static final char CHAR_END_OF_TEXT_SECTION

      End of text section marker character.
      See Also:
        Constant Field Values

    - #### CHAR_END_OF_TEXT_SECTION_STRING

          public static final java.lang.String CHAR_END_OF_TEXT_SECTION_STRING

      See Also:
        Constant Field Values

    - #### CHAR_FAKE_SOFT_HYPHEN

          public static final char CHAR_FAKE_SOFT_HYPHEN

      Substitute soft hyphen marker.
      See Also:
        Constant Field Values

    - #### CHAR_FAKE_SOFT_HYPHEN_STRING

          public static final java.lang.String CHAR_FAKE_SOFT_HYPHEN_STRING

      See Also:
        Constant Field Values

    - #### CHAR_SUBSTITUTE_SINGLE_QUOTE

          public static final char CHAR_SUBSTITUTE_SINGLE_QUOTE

      Substitute single quote character.
      See Also:
        Constant Field Values

    - #### CHAR_SUBSTITUTE_SINGLE_QUOTE_STRING

          public static final java.lang.String CHAR_SUBSTITUTE_SINGLE_QUOTE_STRING

      See Also:
        Constant Field Values

    - #### CHAR_SUP_TEXT_MARKER

          public static final char CHAR_SUP_TEXT_MARKER

      text marker.
      See Also:
        Constant Field Values

    - #### CHAR_SUP_TEXT_MARKER_STRING

          public static final java.lang.String CHAR_SUP_TEXT_MARKER_STRING

      See Also:
        Constant Field Values

    - #### LONG_DASH

          public static final char LONG_DASH

      Long dash.
      See Also:
        Constant Field Values

    - #### LONG_DASH_STRING

          public static final java.lang.String LONG_DASH_STRING

      Long dash string.
      See Also:
        Constant Field Values

    - #### SHORT_DASH

          public static final char SHORT_DASH

      Long dash.
      See Also:
        Constant Field Values

    - #### SHORT_DASH_STRING

          public static final java.lang.String SHORT_DASH_STRING

      Short dash string.
      See Also:
        Constant Field Values

    - #### OLD_EURO_SIGN

          public static final char OLD_EURO_SIGN

      Old Euro symbol.
      See Also:
        Constant Field Values

    - #### EURO_SIGN

          public static final char EURO_SIGN

      New Euro symbol.
      See Also:
        Constant Field Values

    - #### UNKNOWN_PUNC

          public static final char UNKNOWN_PUNC

      Unknown punctuation marker.
      See Also:
        Constant Field Values

    - #### COMBINING_MACRON

          public static final char COMBINING_MACRON

      Combining macron character.
      See Also:
        Constant Field Values

    - #### COMBINING_MACRON_STRING

          public static final java.lang.String COMBINING_MACRON_STRING

      Combining macron string.
      See Also:
        Constant Field Values

    - #### NONBREAKING_BLANK

          public static final char NONBREAKING_BLANK

      Nonbreaking blank character.
      See Also:
        Constant Field Values

    - #### NONBREAKING_BLANK_STRING

          public static final java.lang.String NONBREAKING_BLANK_STRING

      Nonbreaking blank string.
      See Also:
        Constant Field Values

    - #### NONBREAKING_HYPHEN

          public static final char NONBREAKING_HYPHEN

      Nonbreaking hyphen character.
      See Also:
        Constant Field Values

    - #### NONBREAKING_HYPHEN_STRING

          public static final java.lang.String NONBREAKING_HYPHEN_STRING

      Nonbreaking hyphen string.
      See Also:
        Constant Field Values

    - #### VERTICAL_BAR

          public static final char VERTICAL_BAR

      Vertical bar.
      See Also:
        Constant Field Values

    - #### VERTICAL_BAR_STRING

          public static final java.lang.String VERTICAL_BAR_STRING

      Vertical bar string.
      See Also:
        Constant Field Values

    - #### BROKEN_VERTICAL_BAR

          public static final char BROKEN_VERTICAL_BAR

      Broken vertical bar.
      See Also:
        Constant Field Values

    - #### BROKEN_VERTICAL_BAR_STRING

          public static final java.lang.String BROKEN_VERTICAL_BAR_STRING

      Broken vertical bar string.
      See Also:
        Constant Field Values

    - #### LIGHT_VERTICAL_BAR

          public static final char LIGHT_VERTICAL_BAR

      Light vertical bar.
      See Also:
        Constant Field Values

    - #### LIGHT_VERTICAL_BAR_STRING

          public static final java.lang.String LIGHT_VERTICAL_BAR_STRING

      Light vertical bar string.
      See Also:
        Constant Field Values

    - #### DIVIDER_VERTICAL_BAR

          public static final char DIVIDER_VERTICAL_BAR

      Divider vertical bar.
      See Also:
        Constant Field Values

    - #### DIVIDER_VERTICAL_BAR_STRING

          public static final java.lang.String DIVIDER_VERTICAL_BAR_STRING

      Divider vertical bar string.
      See Also:
        Constant Field Values

    - #### ELLIPSIS

          public static final char ELLIPSIS

      Ellipsis (...) character.
      See Also:
        Constant Field Values

    - #### ELLIPSIS_STRING

          public static final java.lang.String ELLIPSIS_STRING

      See Also:
        Constant Field Values

    - #### SOLAR_CIRCLE

          public static final char SOLAR_CIRCLE

      Solar circle character.
      See Also:
        Constant Field Values

    - #### SOLAR_CIRCLE_STRING

          public static final java.lang.String SOLAR_CIRCLE_STRING

      See Also:
        Constant Field Values

    - #### DOTTEDCIRCLE

          public static final char DOTTEDCIRCLE

      Unicode dotted circle.
      See Also:
        Constant Field Values

    - #### DOTTEDCIRCLE_STRING

          public static final java.lang.String DOTTEDCIRCLE_STRING

      See Also:
        Constant Field Values

    - #### LEFT_ANGLE_BRACKET

          public static final char LEFT_ANGLE_BRACKET

      Unicode left angle bracket.
      See Also:
        Constant Field Values

    - #### LEFT_ANGLE_BRACKET_STRING

          public static final java.lang.String LEFT_ANGLE_BRACKET_STRING

      See Also:
        Constant Field Values

    - #### RIGHT_ANGLE_BRACKET

          public static final char RIGHT_ANGLE_BRACKET

      Unicode right angle bracket.
      See Also:
        Constant Field Values

    - #### RIGHT_ANGLE_BRACKET_STRING

          public static final java.lang.String RIGHT_ANGLE_BRACKET_STRING

      See Also:
        Constant Field Values

    - #### LOZENGE

          public static final char LOZENGE

      Unicode lozenge.
      See Also:
        Constant Field Values

    - #### LOZENGE_STRING

          public static final java.lang.String LOZENGE_STRING

      See Also:
        Constant Field Values

    - #### ASTERISM

          public static final char ASTERISM

      Unicode asterism.
      See Also:
        Constant Field Values

    - #### ASTERISM_STRING

          public static final java.lang.String ASTERISM_STRING

      See Also:
        Constant Field Values

    - #### DAGGER

          public static final char DAGGER

      Unicode dagger.
      See Also:
        Constant Field Values

    - #### DAGGER_STRING

          public static final java.lang.String DAGGER_STRING

      See Also:
        Constant Field Values

    - #### DOUBLE_DAGGER

          public static final char DOUBLE_DAGGER

      Unicode double dagger.
      See Also:
        Constant Field Values

    - #### DOUBLE_DAGGER_STRING

          public static final java.lang.String DOUBLE_DAGGER_STRING

      See Also:
        Constant Field Values

    - #### INVISIBLE_SEPARATOR

          public static final char INVISIBLE_SEPARATOR

      Unicode invisible separator.
      See Also:
        Constant Field Values

    - #### INVISIBLE_SEPARATOR_STRING

          public static final java.lang.String INVISIBLE_SEPARATOR_STRING

      See Also:
        Constant Field Values

    - #### SPAN_GAP_MARKER

          public static final java.lang.String SPAN_GAP_MARKER

      Span gap marker.
      See Also:
        Constant Field Values

    - #### LONG_S

          public static final char LONG_S

      Long s.
      See Also:
        Constant Field Values

    - #### LONG_S_STRING

          public static final java.lang.String LONG_S_STRING

      See Also:
        Constant Field Values

    - #### digitsPattern

          public static java.lang.String digitsPattern

      Digits pattern.

    - #### ordinalNumberPattern

          public static java.lang.String ordinalNumberPattern

      Ordinal number pattern (English only!)

    - #### hyphenPattern

          protected static final java.util.regex.Pattern hyphenPattern

      Pattern for 1 or more hyphens.

    - #### hyphenMatcher

          protected static final java.util.regex.Matcher hyphenMatcher

    - #### asteriskPattern

          protected static final java.util.regex.Pattern asteriskPattern

      Pattern for 1 or more asterisks.

    - #### asteriskMatcher

          protected static final java.util.regex.Matcher asteriskMatcher

    - #### possessiveAsteriskPattern

          protected static final java.util.regex.Pattern possessiveAsteriskPattern

      Pattern for 1 or more asterisks followed by 's.

    - #### possessiveAsteriskMatcher

          protected static final java.util.regex.Matcher possessiveAsteriskMatcher

    - #### possessiveDashesPattern

          protected static final java.util.regex.Pattern possessiveDashesPattern

      Pattern for 2 or more dashes followed by 's.

    - #### possessiveDashesMatcher

          protected static final java.util.regex.Matcher possessiveDashesMatcher

    - #### wordPattern

          protected static final java.util.regex.Pattern wordPattern

      Pattern for Unicode word.

    - #### wordMatcher

          protected static final java.util.regex.Matcher wordMatcher

    - #### lettersPattern

          protected static final java.util.regex.Pattern lettersPattern

      Pattern for Unicode letters only.

    - #### lettersMatcher

          protected static final java.util.regex.Matcher lettersMatcher

    - #### punctuationPattern

          protected static final java.util.regex.Pattern punctuationPattern

      Pattern for punctuation only.

    - #### punctuationMatcher

          protected static final java.util.regex.Matcher punctuationMatcher

  - ### Constructor Detail

    - #### CharUtils

          protected CharUtils()

      Don't allow instantiation, do allow overrides.

  - ### Method Detail

    - #### isLetter

          public static boolean isLetter(char c)

      Check if character is a letter.
      Parameters:
        `c` - Character to test.
      Returns:
        true if character is a letter.

    - #### isLetter

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

      Check if string is a single letter.
      Parameters:
        `s` - String to test.
      Returns:
        true if string is a single letter.

    - #### isLetters

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

      Check if string contains only letters.
      Parameters:
        `s` - String to test.
      Returns:
        true if string contains only letters.

    - #### isAWord

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

      Check if a string is a word (Unicode letters, digits, hyphen).
      Parameters:
        `s` - String to test.
      Returns:
        true if string is a Unicode word.

    - #### isCapitalLetter

          public static boolean isCapitalLetter(char c)

      Check if character is a capital letter.
      Parameters:
        `c` - Character to test.
      Returns:
        true if character is a capital letter.

    - #### isPunctuation

          public static boolean isPunctuation(char ch)

      True if character is punctuation.

    - #### isPunctuation

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

      True if all characters in a string are punctuation.
      Parameters:
        `s` - String to check for punctuation.
      Returns:
        true if all characters are punctuation, including dashes.

    - #### isSymbol

          public static boolean isSymbol(char ch)

      True if character is symbol.

    - #### isSymbol

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

      True if all characters in a string are symbols.
      Parameters:
        `s` - String to check for symbols.
      Returns:
        true if all characters are symbols.

    - #### isPunctuationOrSymbol

          public static boolean isPunctuationOrSymbol(char c)

      True if character is punctuation or symbol.
      Parameters:
        `c` - Character to check for punctuation or symbol.
      Returns:
        true if character is punctuation or symbol.

    - #### isPunctuationOrSymbol

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

      True if all characters in a string are punctuation or symbols.
      Parameters:
        `s` - String to check for punctuation and symbols.
      Returns:
        true if all characters are punctuation or symbols.

    - #### isDigit

          public static boolean isDigit(char c)

      True if character is a digit.
      Parameters:
        `c` - Character to check for being a digit.
      Returns:
        true if character is a digit from 0 through 9.

    - #### isDigits

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

      True if all characters in a string are digits.
      Parameters:
        `s` - String to check for digits.
      Returns:
        true if all characters are digits 0 through 9.

    - #### hasDigit

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

      True if at least one character in a string is a digit.
      Parameters:
        `s` - String to check for digits.
      Returns:
        true if at least one character is a digit 0 through 9.

    - #### isDash

          public static boolean isDash(char c)

      True if character is a dash of some kind.
      Parameters:
        `c` - Character to check for being a dash.
      Returns:
        true if character is a dash.

    - #### isBreakingDash

          public static boolean isBreakingDash(char c)

      True if character is a breaking dash of some kind.
      Parameters:
        `c` - Character to check for being a breaking dash.
      Returns:
        true if character is a breaking dash.

    - #### hasDash

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

      True if string contains a dash of some kind.
      Parameters:
        `s` - String to check for containing a dash.
      Returns:
        true if string contains a dash.

    - #### evictDashes

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

      Evict dashes from a string.
      Parameters:
        `s` - String from which to evict dashes.
      Returns:
        String with dashes evicted.

    - #### isNumber

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

      True if a string is a number.
      Parameters:
        `s` - String to check for being a number.
      Returns:
        true if string is a number.

    - #### isOrdinal

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

      True if a string is an ordinal number.
      Parameters:
        `s` - String to check for being an ordinal number.
      Returns:
        true if string is an ordinal number.

    - #### allLettersCapital

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

      True if all letters in a string are uppercase.
      Parameters:
        `s` - String to check for upper case letters.
      Returns:
        true if all letters are upper case.

        Note: non-letters are ignored. The result is false if there are no letters in the string.

    - #### isUpperCase

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

      True if all characters in a string are uppercase.
      Parameters:
        `s` - String to check for upper case letters.
      Returns:
        true if all characters are upper case.

        All characters are checked, letters and non-letters alike.

    - #### isFirstLetterCapital

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

      True if first letter in a string is uppercase.
      Parameters:
        `s` - String to check for initial uppercase letter.
      Returns:
        true if first letter in string is uppercase.

        Leading non-letters are ignored. If none of the characters in the string is a letters, false is returned.

    - #### hasPunctuation

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

      True if any characters in a string are punctuation.
      Parameters:
        `s` - String to check for punctuation.
      Returns:
        true if any characters are punctuation, except that dashes are allowed.

    - #### hasPunctuationNotApostrophes

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

      True if any characters in a string are punctuation.
      Parameters:
        `s` - String to check for punctuation.
      Returns:
        true if any characters are punctuation, except that dashes and apostrophes are allowed.

    - #### hasSymbols

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

      True if any characters in a string are symbols.
      Parameters:
        `s` - String to check for symbols.
      Returns:
        true if any characters are symbols.

    - #### isGapMarker

          public static boolean isGapMarker(char c)

      True if character is a gap marker.
      Parameters:
        `c` - Character to check for being a gap marker.
      Returns:
        true if character is a gap marker.

    - #### hasGapMarkers

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

      True if any characters in a string are gap markers.
      Parameters:
        `s` - String to check for gap markers.
      Returns:
        true if any characters are gap markers.

    - #### isGreekLetter

          public static boolean isGreekLetter(char c)

      True if character is a Greek letter.
      Parameters:
        `c` - Character to check for being a Greek letter.
      Returns:
        true if character is a Greek letter.

    - #### hasGreekLetters

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

      True if any characters in a string are Greek letters.
      Parameters:
        `s` - String to check for Greek letters.
      Returns:
        true if any characters are Greek letters.

    - #### isEnglishVowel

          public static boolean isEnglishVowel(char c)

      Is character an English vowel?
      Parameters:
        `c` - Character to check.
      Returns:
        true if "c" is a, e, i, o, u.

    - #### isSingleQuote

          public static boolean isSingleQuote(char c)

      True if character is single quote.
      Parameters:
        `c` - Character to check for being a single quote.
      Returns:
        true if character is a single quote.

    - #### isApostrophe

          public static boolean isApostrophe(char c)

      True if character is an apostrophe.
      Parameters:
        `c` - Character to check for being an apostrophe.
      Returns:
        true if character is an apostrophe.

    - #### isSingleOpeningQuote

          public static boolean isSingleOpeningQuote(char c)

      True if character is a single opening quote.
      Parameters:
        `c` - Character to check for being a single opening quote.
      Returns:
        true if character is a single opening quote.

    - #### endsWithSingleQuoteS

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

      True if string ends with "single quote + s".
      Parameters:
        `s` - String to check for ending with single quote + s.
      Returns:
        true if token ends with single quote + s.

    - #### isSingleQuoteS

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

      True if string is "single quote + s".
      Parameters:
        `s` - String to check for being single quote + s.
      Returns:
        true if token is single quote + s.

    - #### endsWithSingleQuote

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

      True if string ends with single quote.
      Parameters:
        `s` - String to check for ending with single quote.
      Returns:
        true if token ends with single quote.

    - #### isOpeningQuote

          public static boolean isOpeningQuote(char c)

      True if character is any kind of opening quote.
      Parameters:
        `c` - Character to check for being an opening quote.
      Returns:
        true if character is an opening quote.

    - #### isClosingQuote

          public static boolean isClosingQuote(char c)

      True if character is any kind of closing quote.
      Parameters:
        `c` - Character to check for being a closing quote.
      Returns:
        true if character is a closing quote.

    - #### hasSingleQuote

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

      True if string contains a single quote.
      Parameters:
        `s` - String to check for containing a single quote.
      Returns:
        true if string contains a single quote.

    - #### isAllCaps

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

      True if string is all caps.
      Parameters:
        `s` - String to check for being all capitals.
      Returns:
        True if string is all capitals.

    - #### isAllLowerCase

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

      True if string is all lower case.
      Parameters:
        `s` - String to check for being all lower case.
      Returns:
        True if string is all lower case.

    - #### hasCapitalLetter

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

      True if string contains at least one capital letter.
      Parameters:
        `s` - String to check for having a capital letter.
      Returns:
        True if string has a capital letter.

    - #### hasApostrophe

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

      True if string contains at least one apostrophe.
      Parameters:
        `s` - String to check for having an apostrophe.
      Returns:
        True if string has an apostrophe.

    - #### hasPeriod

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

      True if string contains at least one period.
      Parameters:
        `s` - String to check for having a period.
      Returns:
        True if string has a period.

    - #### hasGapCharacter

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

      True if string contains at least one gap marker character.
      Parameters:
        `s` - String to check for having a gap marker character.
      Returns:
        True if string has a gap marker.

    - #### hasInternalCaps

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

      True if string contains internal capital letters.
      Parameters:
        `s` - String to check for having internal capitals.
      Returns:
        True if string has internal capitals.

    - #### isAllPeriods

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

      True if string is all periods.
      Parameters:
        `s` - String to check for being all periods.
      Returns:
        True if string is all periods.

    - #### isAllHyphens

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

      True if string is all hyphens.
      Parameters:
        `s` - String to check for being all hyphens.
      Returns:
        True if string is all hyphens.

    - #### isAllAsterisks

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

      True if string is all asterisks.
      Parameters:
        `s` - String to check for being all asterisks.
      Returns:
        True if string is all asterisks.

    - #### isPossessiveAsterisks

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

      True if string is asterisks followed by 's.
      Parameters:
        `s` - String to check for being asterisks followed by 's.
      Returns:
        True if string is asterisks followed by 's.

    - #### isPossessiveDashes

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

      True if string is two or more dashes followed by 's.
      Parameters:
        `s` - String to check for being dashes followed by 's.
      Returns:
        True if string is dashes followed by 's.

    - #### isWhitespace

          public static boolean isWhitespace(char c)

      True if character is whitespace.
      Parameters:
        `c` - Character to check for being whitespace.
      Returns:
        True if character c is whitespace.

    - #### makeCaseMatch

          public static java.lang.String makeCaseMatch(java.lang.String s,
                                       java.lang.String sCaseToMatch)

      Make case of string match another string's case.
      Parameters:
        `s` - String whose case should be changed.
        `sCaseToMatch` - String whose case should be matched.
      Returns:
        "s" modified to match case of "sCaseToMatch".

    - #### capitalizeFirstLetter

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

      Capitalize first letter in string.
      Parameters:
        `s` - String to capitalize.
      Returns:
        "s" with first letter (not first character) capitalized. Remaining characters are set to lower case.

    - #### isUSCurrency

          public static boolean isUSCurrency(java.lang.String token)

      Check for US currency.
      Parameters:
        `token` - Word to check for currency.
      Returns:
        true if token is US currency.

    - #### isUSCurrencyCents

          public static boolean isUSCurrencyCents(java.lang.String token)

      Check for US currency with cents.
      Parameters:
        `token` - Word to check for currency.
      Returns:
        true if token is US currency.

    - #### isCurrency

          public static boolean isCurrency(java.lang.String token)

      Check for currency.
      Parameters:
        `token` - Word to check for currency.
      Returns:
        true if token is currency.

    - #### getCaseOld

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

      Get case value for a string.
      Parameters:
        `s` - The string.
      Returns:
        Case value. "0" = all lower case "1" = first letter is upper case "2" = first character not upper case, but some characters after first are upper case. "3" = all characters are upper case

    - #### getLetterCase

          public static int getLetterCase(java.lang.String s)

      Get case value for a string.
      Parameters:
        `s` - The string.
      Returns:
        Case value. 0 = all letters are lower case 1 = first letter (only) is upper case 2 = first letter is not upper case, but some letters after first are upper case 3 = all letters are upper case

    - #### normalizeString

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

      Convert super/subscript characters to normal equivalents.
      Parameters:
        `s` - String containing super/subscript characters.
      Returns:
        String with super/subscript characters converted to normal equivalents.

    - #### isSuperscript

          public static boolean isSuperscript(char ch)

      Is character a superscript character.
      Parameters:
        `ch` - Character to check.
      Returns:
        true if superscript character, false otherwise.

    - #### isSubscript

          public static boolean isSubscript(char ch)

      Is character a subscript character.
      Parameters:
        `ch` - Character to check.
      Returns:
        true if subscript character, false otherwise.