Package com.day.text

Class TextUtils


  • public class TextUtils
    extends Object
    Simple text manipulation tasks - these aren't optimized, and are intended primarily to be used by test code. (eg. to compare returned values from functions with the values expected).
    • Constructor Detail

      • TextUtils

        public TextUtils()
    • Method Detail

      • removeControlCharacters

        public static String removeControlCharacters​(String characters)
      • removeWhitespace

        public static String removeWhitespace​(String characters)
      • isTextSimilar

        public static boolean isTextSimilar​(String docOne,
                                            String docTwo)
        Compare two strings, and determine whether they are approximately "similar" - by this we mean whether they have the same numbers of each character in (barring whitespace). We do this by sorting the strings as a character array and stripping whitespace.

        This will generate false positives on some text - for example anagrams.

        For example, the text "Watch the carthorse" and "Watch the orchestra" will both be converted to "aacceehhhorrstttw" and compared - so they will be identical.

        This method is mostly useful as a simple way of comparing data which can be differently ordered but still functionally equivalent - for example DTDs.

      • noisyIsTextSimilar

        public static boolean noisyIsTextSimilar​(String docOne,
                                                 String docTwo)
      • stripWhitespace

        public String stripWhitespace​(String s)
        Remove all whitespace from a string - most useful for test purposes (where you compare two strings, but whitespace isn't syntactically significant)
      • sanitizeForCommunique

        public static String sanitizeForCommunique​(String s)
        These are characters not allowed in a text string in a CQ any file - they require escaping.
      • trimTrailingSlashes

        public static String trimTrailingSlashes​(String input)
      • trimLeadingSlashes

        public static String trimLeadingSlashes​(String input)
      • occursOnceOnly

        public static boolean occursOnceOnly​(String big,
                                             String small)
      • occursExactlyNTimes

        public static boolean occursExactlyNTimes​(String big,
                                                  String small,
                                                  int n)
      • countOccurences

        public static int countOccurences​(String big,
                                          String small)
      • trimLastSlashLevel

        public static String trimLastSlashLevel​(String input)
        Removes last level from a "slashy string" representaion of a hierarchical path. For example, '/a/b/c' becomes '/a/b' with the exception that '/' and '' remain unchanged