字符串函数库
引入字符串函数库的方式为:import 'net.hasor.dataql.fx.basic.StringUdfSource' as string;
startsWith
函数定义:boolean startsWith(str, prefix)
- 参数定义:
str
类型:String
;prefix
类型:String
- 返回类型:
Boolean
- 作用:Check if a String starts with a specified prefix.
string.startsWith(null, null) = true
string.startsWith(null, "abc") = false
string.startsWith("abcdef", null) = false
string.startsWith("abcdef", "abc") = true
string.startsWith("ABCDEF", "abc") = false
startsWithIgnoreCase
函数定义:boolean startsWithIgnoreCase(str, prefix)
- 参数定义:
str
类型:String
;prefix
类型:String
- 返回类型:
Boolean
- 作用:Case insensitive check if a String starts with a specified prefix.
string.startsWithIgnoreCase(null, null) = true
string.startsWithIgnoreCase(null, "abc") = false
string.startsWithIgnoreCase("abcdef", null) = false
string.startsWithIgnoreCase("abcdef", "abc") = true
string.startsWithIgnoreCase("ABCDEF", "abc") = true <- different startsWith
endsWith
函数定义:boolean endsWith(str, prefix)
- 参数定义:
str
类型:String
;prefix
类型:String
- 返回类型:
Boolean
- 作用:check if a String ends with a specified suffix.
string.endsWith(null, null) = true
string.endsWith(null, "def") = false
string.endsWith("abcdef", null) = false
string.endsWith("abcdef", "def") = true
string.endsWith("ABCDEF", "def") = false
string.endsWith("ABCDEF", "cde") = false
endsWithIgnoreCase
函数定义:boolean endsWithIgnoreCase(str, prefix)
- 参数定义:
str
类型:String
;prefix
类型:String
- 返回类型:
Boolean
- 作用:Case insensitive check if a String ends with a specified suffix.
string.endsWithIgnoreCase(null, null) = true
string.endsWithIgnoreCase(null, "def") = false
string.endsWithIgnoreCase("abcdef", null) = false
string.endsWithIgnoreCase("abcdef", "def") = true
string.endsWithIgnoreCase("ABCDEF", "def") = true <- different startsWith
string.endsWithIgnoreCase("ABCDEF", "cde") = false
lineToHump
函数定义:String lineToHump(str)
- 参数定义:
str
类型:String
; - 返回类型:
String
- 作用:下划线转驼峰,规则为遇到下划线后字母转为大写并删除下划线。
string.lineToHump(null) = null
string.lineToHump("def") = "def"
string.lineToHump("_def") = "Def"
string.lineToHump("ABC") = "abc"
string.lineToHump("_ABC") = "Abc"
string.lineToHump("ABC_ABC") = "abcAbc"
humpToLine
函数定义:String humpToLine(str)
- 参数定义:
str
类型:String
; - 返回类型:
String
- 作用:驼峰转下划线,规则为遇到大写字母后,转为小写并前面加下滑线。
string.humpToLine(null) = null
string.humpToLine("def") = "def"
string.humpToLine("defAbc") = "def_abc"
string.humpToLine("ABC") = "_a_b_c"
string.humpToLine("_ABC") = "__a_b_c"
string.humpToLine("ABC_ABC") = "_a_b_c__a_b_c"
firstCharToUpperCase
函数定义:String firstCharToUpperCase(str)
- 参数定义:
str
类型:String
; - 返回类型:
String
- 作用:转换首字母大写。
string.firstCharToUpperCase(null) = null
string.firstCharToUpperCase("def") = "Def"
string.firstCharToUpperCase("defAbc") = "DefAbc"
string.firstCharToUpperCase("ABC") = "ABC"
firstCharToLowerCase
函数定义:String firstCharToLowerCase(str)
- 参数定义:
str
类型:String
; - 返回类型:
String
- 作用:转换首字母小写。
string.firstCharToLowerCase(null) = null
string.firstCharToLowerCase("def") = "def"
string.firstCharToLowerCase("defAbc") = "defAbc"
string.firstCharToLowerCase("ABC") = "aBC"
toUpperCase
函数定义:String toUpperCase(str)
- 参数定义:
str
类型:String
; - 返回类型:
String
- 作用:转换大写。
string.toUpperCase(null) = null
string.toUpperCase("def") = "DEF"
string.toUpperCase("defAbc") = "DEFABC"
string.toUpperCase("ABC") = "ABC"
toLowerCase
函数定义:String toLowerCase(str)
- 参数定义:
str
类型:String
; - 返回类型:
String
- 作用:转换小写。
string.toLowerCase(null) = null
string.toLowerCase("def") = "def"
string.toLowerCase("defAbc") = "defabc"
string.toLowerCase("ABC") = "abc"
indexOf
函数定义:String indexOf(str, searchStr)
- 参数定义:
str
类型:String
;searchStr
类型:String
; - 返回类型:
String
- 作用:Finds the first index within a String, handling null. This method uses
String.indexOf(String)
.
string.indexOf(null, *) = -1
string.indexOf("", *) = -1
string.indexOf("aabaabaa", 'a') = 0
string.indexOf("aabaabaa", 'b') = 2
indexOfWithStart
函数定义:String indexOfWithStart(str, searchStr, startPos)
- 参数定义:
str
类型:String
;searchStr
类型:String
;startPos
类型:Number
; - 返回类型:
String
- 作用:Finds the first index within a String from a start position, handling null. This method uses
String#indexOf(String, int)
.
string.indexOfWithStart(null,"", 1) = -1
string.indexOfWithStart("","", 2) = -1
string.indexOfWithStart("aabaabaa", 'a', 3) = 3
string.indexOfWithStart("aabaabaa", 'b' , 3)= 5
indexOfIgnoreCase
函数定义:String indexOfIgnoreCase(str, searchStr)
- 参数定义:
str
类型:String
;searchStr
类型:String
; - 返回类型:
String
- 作用:Case in-sensitive find of the first index within a String.
string.indexOfWithStart(null,"", 1) = -1
string.indexOfWithStart("","", 2) = -1
string.indexOfWithStart("aabaabaa", 'a', 3) = 3
string.indexOfWithStart("aabaabaa", 'b' , 3) = 5
string.indexOfWithStart("aabaabaa", 'B' , 3) = -1
indexOfIgnoreCaseWithStart
函数定义:String indexOfIgnoreCaseWithStart(str, searchStr, startPos)
- 参数定义:
str
类型:String
;searchStr
类型:String
;startPos
类型:Number
; - 返回类型:
String
- 作用:Case in-sensitive find of the first index within a String from the specified position.
string.indexOfIgnoreCaseWithStart(null,"", 1) = -1
string.indexOfIgnoreCaseWithStart("","", 2) = -1
string.indexOfIgnoreCaseWithStart("aabaabaa", 'a', 3) = 3
string.indexOfIgnoreCaseWithStart("aabaabaa", 'b' , 3) = 5
string.indexOfIgnoreCaseWithStart("aabaabaa", 'B' , 3) = 5
lastIndexOf
函数定义:String lastIndexOf(str, searchStr)
- 参数定义:
str
类型:String
;searchStr
类型:String
; - 返回类型:
String
- 作用:Finds the last index within a String, handling null. This method uses
String#lastIndexOf(String)
.
string.lastIndexOf(null, *) = -1
string.lastIndexOf("", *) = -1
string.lastIndexOf("aabaabaa", 'a') = 7
string.lastIndexOf("aabaabaa", 'b') = 5
lastIndexOfWithStart
函数定义:String lastIndexOfWithStart(str, searchStr, startPos)
- 参数定义:
str
类型:String
;searchStr
类型:String
;startPos
类型:Number
; - 返回类型:
String
- 作用:Finds the last index within a String from a start position, handling null. This method uses
String#lastIndexOf(String, int)
.
string.lastIndexOf(null, *, *) = -1
string.lastIndexOf("", *, *) = -1
string.lastIndexOf("aabaabaa", 'b', 8) = 5
string.lastIndexOf("aabaabaa", 'b', 4) = 2
string.lastIndexOf("aabaabaa", 'b', 0) = -1
string.lastIndexOf("aabaabaa", 'b', 9) = 5
string.lastIndexOf("aabaabaa", 'b', -1) = -1
string.lastIndexOf("aabaabaa", 'a', 0) = 0
lastIndexOfIgnoreCase
函数定义:String lastIndexOf(str, searchStr)
- 参数定义:
str
类型:String
;searchStr
类型:String
; - 返回类型:
String
- 作用:Case in-sensitive find of the last index within a String from the specified position.
string.lastIndexOf(null, *) = -1
string.lastIndexOf("", *) = -1
string.lastIndexOf("aabaabaa", 'a') = 7
string.lastIndexOf("aabaabaa", 'b') = 5
lastIndexOfIgnoreCaseWithStart
函数定义:String lastIndexOfIgnoreCaseWithStart(str, searchStr)
- 参数定义:
str
类型:String
;searchStr
类型:String
;startPos
类型:Number
; - 返回类型:
String
- 作用:Case in-sensitive find of the last index within a String from the specified position.
string.lastIndexOfIgnoreCase(null, *, *) = -1
string.lastIndexOfIgnoreCase(*, null, *) = -1
string.lastIndexOfIgnoreCase("aabaabaa", "A", 8) = 7
string.lastIndexOfIgnoreCase("aabaabaa", "B", 8) = 5
string.lastIndexOfIgnoreCase("aabaabaa", "AB", 8) = 4
string.lastIndexOfIgnoreCase("aabaabaa", "B", 9) = 5
string.lastIndexOfIgnoreCase("aabaabaa", "B", -1) = -1
string.lastIndexOfIgnoreCase("aabaabaa", "A", 0) = 0
string.lastIndexOfIgnoreCase("aabaabaa", "B", 0) = -1
contains
函数定义:String contains(str, searchStr)
- 参数定义:
str
类型:String
;searchStr
类型:String
; - 返回类型:
String
- 作用:Checks if String contains a search String, handling null. This method uses String#indexOf(String).
string.contains(null, *) = false
string.contains("", *) = false
string.contains("abc", 'a') = true
string.contains("abc", 'z') = false
containsIgnoreCase
函数定义:String containsIgnoreCase(str, searchStr)
- 参数定义:
str
类型:String
;searchStr
类型:String
; - 返回类型:
String
- 作用:Checks if String contains a search String irrespective of case, handling null. Case-insensitivity is defined as by String#equalsIgnoreCase(String).
string.contains(null, *) = false
string.contains(*, null) = false
string.contains("", "") = true
string.contains("abc", "") = true
string.contains("abc", "a") = true
string.contains("abc", "z") = false
string.contains("abc", "A") = true
string.contains("abc", "Z") = false
containsAny
函数定义:String containsAny(str, searchStrArray)
- 参数定义:
str
类型:String
;searchStrArray
类型:List
; - 返回类型:
String
- 作用:Checks if the String contains any character in the given set of string.
string.containsAny(null, *) = false
string.containsAny("", *) = false
string.containsAny(*, null) = false
string.containsAny(*, []) = false
string.containsAny("zzabyycdxx",['z','a']) = true
string.containsAny("zzabyycdxx",['b','y']) = true
string.containsAny("aba", ['z']) = false
string.containsAny("zzabyycdxx",['Z','A']) = false
string.containsAny("zzabyycdxx",['B','Y']) = false
containsAnyIgnoreCase
函数定义:String containsAnyIgnoreCase(str, searchStrArray)
- 参数定义:
str
类型:String
;searchStrArray
类型:List
; - 返回类型:
String
- 作用:Case in-sensitive Checks if the String contains any character in the given set of string.
string.containsAnyIgnoreCase(null, *) = false
string.containsAnyIgnoreCase("", *) = false
string.containsAnyIgnoreCase(*, null) = false
string.containsAnyIgnoreCase(*, []) = false
string.containsAnyIgnoreCase("zzabyycdxx",['z','a']) = true
string.containsAnyIgnoreCase("zzabyycdxx",['b','y']) = true
string.containsAnyIgnoreCase("aba", ['z']) = false
string.containsAnyIgnoreCase("zzabyycdxx",['Z','A']) = true
string.containsAnyIgnoreCase("zzabyycdxx",['B','Y']) = true
trim
函数定义:String trim(str)
- 参数定义:
str
类型:String
; - 返回类型:
String
- 作用:截断两边空格,如果为空返回为空。
string.trim(null) = null
string.trim("") = ""
string.trim(" ") = ""
string.trim("abc") = "abc"
string.trim(" abc ") = "abc"
sub
函数定义:String sub(str, start, end)
- 参数定义:
str
类型:String
;start
类型:Number
;end
类型:Number
; - 返回类型:
String
- 作用:Gets a substring from the specified String avoiding exceptions.
string.sub(null, *, *) = null
string.sub("", * , *) = "";
string.sub("abc", 0, 2) = "ab"
string.sub("abc", 2, 0) = ""
string.sub("abc", 2, 4) = "c"
string.sub("abc", 4, 6) = ""
string.sub("abc", 2, 2) = ""
string.sub("abc", -2, -1) = "b"
string.sub("abc", -4, 2) = "ab"
left
函数定义:String left(str, len)
- 参数定义:
str
类型:String
;len
类型:Number
; - 返回类型:
String
- 作用:Gets the leftmost len characters of a String.
string.left(null, *) = null
string.left(*, -ve) = ""
string.left("", *) = ""
string.left("abc", 0) = ""
string.left("abc", 2) = "ab"
string.left("abc", 4) = "abc"
right
函数定义:String right(str, len)
- 参数定义:
str
类型:String
;len
类型:Number
; - 返回类型:
String
- 作用:Gets the rightmost len characters of a String.
string.right(null, *) = null
string.right(*, -ve) = ""
string.right("", *) = ""
string.right("abc", 0) = ""
string.right("abc", 2) = "bc"
string.right("abc", 4) = "abc"
alignRight
函数定义:String alignRight(str, padChar, len)
- 参数定义:
str
类型:String``padChar
类型:String
;len
类型:Number
; - 返回类型:
String
- 作用:字符串在指定长度下进行右对齐,空出来的字符使用
padChar
补齐。如果传入多个字符将会取第一个字符。
string.alignRight(null, *, *) = null
string.alignRight("", 'z', 3) = "zzz"
string.alignRight("bat", 'z', 3) = "bat"
string.alignRight("bat", 'z', 5) = "batzz"
string.alignRight("bat", 'z', 1) = "bat"
string.alignRight("bat", 'z', -1) = "bat"
alignLeft
函数定义:String alignLeft(str, padChar, len)
- 参数定义:
str
类型:String
;padChar
类型:String
;len
类型:Number
; - 返回类型:
String
- 作用:字符串在指定长度下进行左对齐,空出来的字符使用
padChar
补齐。如果传入多个字符将会取第一个字符。
string.alignLeft(null, *, *) = null
string.alignLeft("", 'z', 3) = "zzz"
string.alignLeft("bat", 'z', 3) = "bat"
string.alignLeft("bat", 'z', 5) = "zzbat"
string.alignLeft("bat", 'z', 1) = "bat"
string.alignLeft("bat", 'z', -1) = "bat"
alignCenter
函数定义:String alignCenter(str, padChar, len)
- 参数定义:
str
类型:String
;padChar
类型:String
;len
类型:Number
; - 返回类型:
String
- 作用:字符串在指定长度下进行剧中对齐,空出来的字符使用
padChar
补齐。如果传入多个字符将会取第一个字符。
string.alignCenter(null, *, *) = null
string.alignCenter("", ' ', 4) = " "
string.alignCenter("ab", ' ', -1) = "ab"
string.alignCenter("ab", ' ', 4) = " ab"
string.alignCenter("abcd", ' ', 2) = "abcd"
string.alignCenter("a", ' ', 4) = " a "
string.alignCenter("a", 'y', 4) = "yayy"
compareString
函数定义:int compareString(str1, str2)
- 参数定义:
str1
类型:String
,str2
类型:String
- 返回类型:
Number
- 作用:比较两个字符串,使用Java原生的字符串
compareTo
比较方法来实现。
说明:
- 比较两个字符串大小,主要用作排序场景。
compare.compareString("A","a") = -32
compare.compareString("a","A") = 32
compare.compareString("abd","abc") = 1
compare.compareString("abc","abd") = -1
compareStringIgnoreCase
函数定义:int compareStringIgnoreCase(str1, str2)
- 参数定义:
str1
类型:String
,str2
类型:String
- 返回类型:
Number
- 作用:忽略大小写比较两个字符串,使用 Java 原生的字符串
compareToIgnoreCase
比较方法来实现。
说明:
- 比较两个字符串大小,主要用作排序场景。
compare.compareStringIgnoreCase("a","A") = 0
compare.compareStringIgnoreCase("A","a") = 0
compare.compareStringIgnoreCase("abd","abc") = 1
compare.compareStringIgnoreCase("abc","abd") = -1
split
函数定义:List split(str, separatorChars)
- 参数定义:
str
类型:String
;separatorChars
类型:String
- 返回类型:
List
- 作用:Splits the provided text into an array, separators specified. This is an alternative to using StringTokenizer.
string.split(null, *) = null
string.split("", *) = []
string.split("abc def", null) = ["abc", "def"]
string.split("abc def", " ") = ["abc", "def"]
string.split("abc def", " ") = ["abc", "def"]
string.split("ab:cd:ef", ":") = ["ab", "cd", "ef"]
join
函数定义:String join(str, padChar, len)
- 参数定义:
array
类型:List
;separator
类型:String
; - 返回类型:
String
- 作用:Joins the elements of the provided array into a single String containing the provided list of elements.
string.join(null, *) = null
string.join([], *) = ""
string.join([null], *) = ""
string.join(["a", "b", "c"], ';') = "a;b;c"
string.join(["a", "b", "c"], null) = "abc"
string.join([null, "", "a"], ';') = ";;a"
isEmpty
函数定义:boolean isEmpty(str)
- 参数定义:
str
类型:String
; - 返回类型:
Boolean
- 作用:Checks if a String is empty
("")
ornull
.
string.isEmpty(null) = true
string.isEmpty("") = true
string.isEmpty(" ") = false
string.isEmpty("bob") = false
string.isEmpty(" bob ") = false
equalsIgnoreCase
函数定义:boolean equalsIgnoreCase(str1, str2)
- 参数定义:
str1
类型:String
;str2
类型:String
; - 返回类型:
Boolean
- 作用:忽略大小写比较相等
string.equalsIgnoreCase(null, null) = true
string.equalsIgnoreCase(null, "abc") = false
string.equalsIgnoreCase("abc", null) = false
string.equalsIgnoreCase("abc", "abc") = true
string.equalsIgnoreCase("abc", "ABC") = true