Class StringFunctions

java.lang.Object
io.trino.operator.scalar.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

    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)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • 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)