Class StringFunctions


  • public final class StringFunctions
    extends Object
    Current implementation is based on code points from Unicode and does ignore grapheme cluster boundaries. Therefore only some methods work correctly with grapheme cluster boundaries.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int[] castCharToCodePoints​(Long charLength, io.airlift.slice.Slice slice)  
      static int[] castVarcharToCodePoints​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice charLeftTrim​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice charLeftTrim​(io.airlift.slice.Slice slice, int[] codePointsToTrim)  
      static long charLength​(long x, io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice charLower​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice charRightTrim​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice charRightTrim​(io.airlift.slice.Slice slice, int[] codePointsToTrim)  
      static io.airlift.slice.Slice charSubstr​(Long x, io.airlift.slice.Slice utf8, long start, long length)  
      static io.airlift.slice.Slice charSubstring​(Long x, io.airlift.slice.Slice utf8, long start)  
      static io.airlift.slice.Slice charTrim​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice charTrim​(io.airlift.slice.Slice slice, int[] codePointsToTrim)  
      static io.airlift.slice.Slice charUpper​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice chr​(long codepoint)  
      static long codepoint​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice concat​(Long x, io.airlift.slice.Slice left, io.airlift.slice.Slice right)  
      static io.airlift.slice.Slice fromUtf8​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice fromUtf8​(io.airlift.slice.Slice slice, long replacementCodePoint)  
      static io.airlift.slice.Slice fromUtf8​(io.airlift.slice.Slice slice, io.airlift.slice.Slice replacementCharacter)  
      static long hammingDistance​(io.airlift.slice.Slice left, io.airlift.slice.Slice right)  
      static io.airlift.slice.Slice leftPad​(io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString)  
      static io.airlift.slice.Slice leftTrim​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice leftTrim​(io.airlift.slice.Slice slice, int[] codePointsToTrim)  
      static long length​(io.airlift.slice.Slice slice)  
      static long levenshteinDistance​(io.airlift.slice.Slice left, io.airlift.slice.Slice right)  
      static io.airlift.slice.Slice lower​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice normalize​(io.airlift.slice.Slice slice, io.airlift.slice.Slice form)  
      static io.airlift.slice.Slice replace​(io.airlift.slice.Slice str, io.airlift.slice.Slice search)  
      static io.airlift.slice.Slice replace​(io.airlift.slice.Slice str, io.airlift.slice.Slice search, io.airlift.slice.Slice replace)  
      static io.airlift.slice.Slice reverse​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice rightPad​(io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString)  
      static io.airlift.slice.Slice rightTrim​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice rightTrim​(io.airlift.slice.Slice slice, int[] codePointsToTrim)  
      static io.airlift.slice.Slice soundex​(io.airlift.slice.Slice slice)  
      static long spaceTrimmedLength​(io.airlift.slice.Slice slice)  
      static Block split​(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter)  
      static Block split​(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter, long limit)  
      static io.airlift.slice.Slice splitPart​(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter, long index)  
      static boolean startsWith​(io.airlift.slice.Slice source, io.airlift.slice.Slice prefix)  
      static long stringPosition​(io.airlift.slice.Slice string, io.airlift.slice.Slice substring)  
      static long stringPosition​(io.airlift.slice.Slice string, io.airlift.slice.Slice substring, long instance)  
      static io.airlift.slice.Slice substring​(io.airlift.slice.Slice utf8, long start)  
      static io.airlift.slice.Slice substring​(io.airlift.slice.Slice utf8, long start, long length)  
      static io.airlift.slice.Slice toUtf8​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice translate​(io.airlift.slice.Slice source, io.airlift.slice.Slice from, io.airlift.slice.Slice to)  
      static io.airlift.slice.Slice trim​(io.airlift.slice.Slice slice)  
      static io.airlift.slice.Slice trim​(io.airlift.slice.Slice slice, int[] codePointsToTrim)  
      static io.airlift.slice.Slice upper​(io.airlift.slice.Slice slice)  
    • Method Detail

      • chr

        public static io.airlift.slice.Slice chr​(long codepoint)
      • codepoint

        public static long codepoint​(io.airlift.slice.Slice slice)
      • length

        public static long length​(io.airlift.slice.Slice slice)
      • charLength

        public static long charLength​(long x,
                                      io.airlift.slice.Slice slice)
      • spaceTrimmedLength

        public static long spaceTrimmedLength​(io.airlift.slice.Slice slice)
      • replace

        public static io.airlift.slice.Slice replace​(io.airlift.slice.Slice str,
                                                     io.airlift.slice.Slice search)
      • replace

        public static io.airlift.slice.Slice replace​(io.airlift.slice.Slice str,
                                                     io.airlift.slice.Slice search,
                                                     io.airlift.slice.Slice replace)
      • reverse

        public static io.airlift.slice.Slice reverse​(io.airlift.slice.Slice slice)
      • stringPosition

        public static long stringPosition​(io.airlift.slice.Slice string,
                                          io.airlift.slice.Slice substring)
      • stringPosition

        public static long stringPosition​(io.airlift.slice.Slice string,
                                          io.airlift.slice.Slice substring,
                                          long instance)
      • substring

        public static io.airlift.slice.Slice substring​(io.airlift.slice.Slice utf8,
                                                       long start)
      • charSubstring

        public static io.airlift.slice.Slice charSubstring​(Long x,
                                                           io.airlift.slice.Slice utf8,
                                                           long start)
      • substring

        public static io.airlift.slice.Slice substring​(io.airlift.slice.Slice utf8,
                                                       long start,
                                                       long length)
      • charSubstr

        public static io.airlift.slice.Slice charSubstr​(Long x,
                                                        io.airlift.slice.Slice utf8,
                                                        long start,
                                                        long length)
      • split

        public static Block split​(io.airlift.slice.Slice string,
                                  io.airlift.slice.Slice delimiter)
      • split

        public static Block split​(io.airlift.slice.Slice string,
                                  io.airlift.slice.Slice delimiter,
                                  long limit)
      • splitPart

        public static io.airlift.slice.Slice splitPart​(io.airlift.slice.Slice string,
                                                       io.airlift.slice.Slice delimiter,
                                                       long index)
      • leftTrim

        public static io.airlift.slice.Slice leftTrim​(io.airlift.slice.Slice slice)
      • charLeftTrim

        public static io.airlift.slice.Slice charLeftTrim​(io.airlift.slice.Slice slice)
      • rightTrim

        public static io.airlift.slice.Slice rightTrim​(io.airlift.slice.Slice slice)
      • charRightTrim

        public static io.airlift.slice.Slice charRightTrim​(io.airlift.slice.Slice slice)
      • trim

        public static io.airlift.slice.Slice trim​(io.airlift.slice.Slice slice)
      • charTrim

        public static io.airlift.slice.Slice charTrim​(io.airlift.slice.Slice slice)
      • leftTrim

        public static io.airlift.slice.Slice leftTrim​(io.airlift.slice.Slice slice,
                                                      int[] codePointsToTrim)
      • charLeftTrim

        public static io.airlift.slice.Slice charLeftTrim​(io.airlift.slice.Slice slice,
                                                          int[] codePointsToTrim)
      • rightTrim

        public static io.airlift.slice.Slice rightTrim​(io.airlift.slice.Slice slice,
                                                       int[] codePointsToTrim)
      • charRightTrim

        public static io.airlift.slice.Slice charRightTrim​(io.airlift.slice.Slice slice,
                                                           int[] codePointsToTrim)
      • trim

        public static io.airlift.slice.Slice trim​(io.airlift.slice.Slice slice,
                                                  int[] codePointsToTrim)
      • charTrim

        public static io.airlift.slice.Slice charTrim​(io.airlift.slice.Slice slice,
                                                      int[] codePointsToTrim)
      • castVarcharToCodePoints

        public static int[] castVarcharToCodePoints​(io.airlift.slice.Slice slice)
      • castCharToCodePoints

        public static int[] castCharToCodePoints​(Long charLength,
                                                 io.airlift.slice.Slice slice)
      • lower

        public static io.airlift.slice.Slice lower​(io.airlift.slice.Slice slice)
      • charLower

        public static io.airlift.slice.Slice charLower​(io.airlift.slice.Slice slice)
      • upper

        public static io.airlift.slice.Slice upper​(io.airlift.slice.Slice slice)
      • charUpper

        public static io.airlift.slice.Slice charUpper​(io.airlift.slice.Slice slice)
      • leftPad

        public static io.airlift.slice.Slice leftPad​(io.airlift.slice.Slice text,
                                                     long targetLength,
                                                     io.airlift.slice.Slice padString)
      • rightPad

        public static io.airlift.slice.Slice rightPad​(io.airlift.slice.Slice text,
                                                      long targetLength,
                                                      io.airlift.slice.Slice padString)
      • levenshteinDistance

        public static long levenshteinDistance​(io.airlift.slice.Slice left,
                                               io.airlift.slice.Slice right)
      • hammingDistance

        public static long hammingDistance​(io.airlift.slice.Slice left,
                                           io.airlift.slice.Slice right)
      • normalize

        public static io.airlift.slice.Slice normalize​(io.airlift.slice.Slice slice,
                                                       io.airlift.slice.Slice form)
      • fromUtf8

        public static io.airlift.slice.Slice fromUtf8​(io.airlift.slice.Slice slice)
      • fromUtf8

        public static io.airlift.slice.Slice fromUtf8​(io.airlift.slice.Slice slice,
                                                      io.airlift.slice.Slice replacementCharacter)
      • fromUtf8

        public static io.airlift.slice.Slice fromUtf8​(io.airlift.slice.Slice slice,
                                                      long replacementCodePoint)
      • toUtf8

        public static io.airlift.slice.Slice toUtf8​(io.airlift.slice.Slice slice)
      • concat

        public static io.airlift.slice.Slice concat​(Long x,
                                                    io.airlift.slice.Slice left,
                                                    io.airlift.slice.Slice right)
      • startsWith

        public static boolean startsWith​(io.airlift.slice.Slice source,
                                         io.airlift.slice.Slice prefix)
      • translate

        public static io.airlift.slice.Slice translate​(io.airlift.slice.Slice source,
                                                       io.airlift.slice.Slice from,
                                                       io.airlift.slice.Slice to)
      • soundex

        public static io.airlift.slice.Slice soundex​(io.airlift.slice.Slice slice)