Class StringFunctions
java.lang.Object
io.trino.operator.scalar.StringFunctions
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 TypeMethodDescriptionstatic int[]castCharToCodePoints(Long charLength, io.airlift.slice.Slice slice) static int[]castVarcharToCodePoints(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharLeftTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharLeftTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static longcharLength(long x, io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharLower(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharReverse(long x, io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharRightTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharRightTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static io.airlift.slice.SlicecharSubstr(Long x, io.airlift.slice.Slice utf8, long start, long length) static io.airlift.slice.SlicecharSubstring(Long x, io.airlift.slice.Slice utf8, long start) static io.airlift.slice.SlicecharTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static io.airlift.slice.SlicecharUpper(io.airlift.slice.Slice slice) static io.airlift.slice.Slicechr(long codepoint) static longcodepoint(io.airlift.slice.Slice slice) static io.airlift.slice.Slicestatic io.airlift.slice.SlicefromUtf8(io.airlift.slice.Slice slice) static io.airlift.slice.SlicefromUtf8(io.airlift.slice.Slice slice, long replacementCodePoint) static io.airlift.slice.SlicefromUtf8(io.airlift.slice.Slice slice, io.airlift.slice.Slice replacementCharacter) static longhammingDistance(io.airlift.slice.Slice left, io.airlift.slice.Slice right) static io.airlift.slice.SliceleftPad(long x, io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) static io.airlift.slice.SliceleftPad(io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) static io.airlift.slice.SliceleftTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SliceleftTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static longlength(io.airlift.slice.Slice slice) static longlevenshteinDistance(io.airlift.slice.Slice left, io.airlift.slice.Slice right) static io.airlift.slice.Slicelower(io.airlift.slice.Slice slice) static io.airlift.slice.Slicenormalize(io.airlift.slice.Slice slice, io.airlift.slice.Slice form) static io.airlift.slice.Slicereplace(io.airlift.slice.Slice str, io.airlift.slice.Slice search) static io.airlift.slice.Slicereplace(io.airlift.slice.Slice str, io.airlift.slice.Slice search, io.airlift.slice.Slice replace) static io.airlift.slice.Slicereverse(io.airlift.slice.Slice slice) static io.airlift.slice.SlicerightPad(io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) static io.airlift.slice.SlicerightTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SlicerightTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static io.airlift.slice.Slicesoundex(io.airlift.slice.Slice slice) static longspaceTrimmedLength(io.airlift.slice.Slice slice) static Blocksplit(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter) static Blocksplit(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter, long limit) static io.airlift.slice.SlicesplitPart(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter, long index) static booleanstartsWith(io.airlift.slice.Slice source, io.airlift.slice.Slice prefix) static longstringPosition(io.airlift.slice.Slice string, io.airlift.slice.Slice substring) static longstringPosition(io.airlift.slice.Slice string, io.airlift.slice.Slice substring, long instance) static io.airlift.slice.Slicesubstring(io.airlift.slice.Slice utf8, long start) static io.airlift.slice.Slicesubstring(io.airlift.slice.Slice utf8, long start, long length) static io.airlift.slice.SlicetoUtf8(long x, io.airlift.slice.Slice slice) static io.airlift.slice.SlicetoUtf8(io.airlift.slice.Slice slice) static io.airlift.slice.Slicetranslate(io.airlift.slice.Slice source, io.airlift.slice.Slice from, io.airlift.slice.Slice to) static io.airlift.slice.Slicetrim(io.airlift.slice.Slice slice) static io.airlift.slice.Slicetrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static io.airlift.slice.Sliceupper(io.airlift.slice.Slice slice)
-
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) -
charReverse
public static io.airlift.slice.Slice charReverse(long x, 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
-
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
-
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
-
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(long x, io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) -
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) -
toUtf8
public static io.airlift.slice.Slice toUtf8(long x, 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)
-