<< Click to Display Table of Contents >> 文本函数复制链接 |
字符串函数允许操作字符串数据。
➢例如:
可能有一个包含所有客户的名字和姓氏的字段。一个成员可能为:Jane Johnson。您可以使用字符串函数将姓氏从此字段拉取到一个新字段中。
计算可能如下所示:
SPLIT(col['Customer Name'], ' ', 2),返回“Johnson”。
•文本函数语法表:
函数 |
语法 |
说明 |
举例 |
---|---|---|---|
ascii |
ascii(string) |
返回string的第一个字符的ascii码。 |
ascii('A') = 65 |
char |
char(number) |
返回通过ascii代码number编码的字符。 |
char(65) = 'A' |
concat |
concat(string1,string2..) |
拼接多个字符串。 |
concat("yonghong","company")=yonghongcompany |
contains |
contains(string, substring) |
如果给定字符串包含指定子字符串,则返回true。 |
contains("Calculation", "alcu") = true |
endsWith |
endsWith(string, substring) |
如果给定字符串以指定子字符串结尾,则返回true,否则就是false。 |
endsWith("yonghong", "ghon")=false |
exact |
exact(string1,string2) |
比较两个字符串是否相同,如果相同则返回true,不同则返回false。 |
exact("Hello World Java", "Hello World Java")=true |
extractNTH |
extractNTH(string, regex, index) |
对源字符串匹配正则表达式,并返回对应匹配到的子字符串。 string:源字符串。 regex:需要匹配的正则表达式,如匹配空白字符:"\s" index:需要返回匹配的第n个捕获组,如果是0则返回整个字符串。 |
获取匹配到的第2个捕获组"World",如下所示 extractNTH("Hello World", "([A-z]+)\s*", 2)=World |
find |
find(substring, string, [start]) |
返回substring在string中的索引位置,如果未找到substring,则返回0。如果添加了可选参数start,则函数会忽略在索引位置start之前出现的任何substring实例。字符串中第一个字符的位置为1。
|
find("alcu", "Calculation") = 2 FIND("Computer", "Calculation", ) = 0 FIND("a", "Calculation", 3) = 7 FIND( "a", "Calculation", 8) = 0 |
indexOf |
indexOf(string, substring) |
返回substring在string中的索引位置,如果未找到substring,则返回0。 |
indexOf("hello world", "o")=4 |
left |
left(string, number) |
返回字符串最左侧一定数量的字符。 |
left("matador", 4) = "mata" |
len |
len(string) |
返回字符串长度。 |
len("matador") = 7 |
lower |
lower(string) |
返回字符串,其所有字符为小写。 |
lower("ProductVersion") = productversion |
match |
match(string, regex) |
如果源字符串匹配正则表达式,则返回true,否则返回false string:源字符串。 regex:需要匹配的正则表达式,如匹配空白字符:"\s"。 |
源字符串匹配正则表达式,则返回true match("Hello World","([A-z]+)\sWorld")=true |
mid |
mid(string, start, [length])
|
返回从索引位置start开始的字符串。字符串中第一个字符的位置为1。如果添加了可选参数length,则返回的字符串仅包含该数量的字符。 |
mid("calculation", 2) = "alculation" mid("calculation", 2, 5) ="alcul" |
replace |
replace(string, substring, replacement) |
在string中搜索substring并将其替换为 replacement。如果未找到substring,则字符串保持不变。 |
replace("version8.5", "8.5", "9.0") = "version9.0" |
replaceRegex |
replaceRegex(string,regex,replacement) |
对源字符串匹配正则表达式,并返回替换后的字符串。 string:需要处理的字符串。 regex:需要匹配的正则表达式,如匹配空白字符:"\s"。 replacement:替换的字符串。 |
替换空格为"*",返回字符串"hello*world": replaceRegex("hello world", "\s", "*")=hello*world |
rept |
rept(string,number) |
按指定次数重复字符串。 string:需要处理的字符串。 number:重复的次数。 |
rept("*-", 3)=*-*-*- |
right |
right(string, number) |
返回string中最右侧一定数量的字符。 |
right("calculation", 4) = tion |
search |
search(find_string, with_string, [start_num] ) |
返回一个字符串在另一个字符串第一次出现的位置(不区分大小写)。 find_string:查找的字符串。 with_string:被查找的字符串。 start_num:为可选参数,开始查找的位置,默认为1。 |
从字符串的第6位开始查找字符串"o",返回所在位置8: search("o", "hello world", 6)=8 |
split |
split(string, delimiter, token number) |
返回字符串中的一个子字符串,并使用分隔符字符将字符串分为一系列标记。 字符串将被解释为分隔符和标记的交替序列。因此,对于字符串 abc-defgh-i-jkl,分隔符字符为“-”,标记为 abc、defgh、i 和 jkl。将这些标记想像为标记 1 至 4。split 将返回与标记编号对应的标记。 delimiter:分割符。 token number:标记符号,如果为正,则从字符串的左侧开始计算标记;如果标记编号为负,则从右侧开始计算标记。 |
split('a-b-c-d','-', 2) = b |
startsWith |
startsWith(string, substring) |
如果string以substring开头,则返回 true。 |
startsWith("Yonghong", "Yon")=true |
substitute |
substitute(string, old_str, new_str, times) |
用新字符串替换源字符串中的部分字符串。 string:需要处理的字符串。 old_str:要被替换的字符串。 new_str:替换的字符串。 times:为可选参数,替换的第几个字符串,默认0。 |
如何将"world"字符串替换为"earth"替换一次,返回字符串"hello earth hello world": substitute("hello world hello world", "world", "earth",1)=hello earth hello world |
trim |
trim(string) |
返回移除了前导和尾随空格的字符串 |
trim(" calculation ") = "calculation" |
upper |
upper(string) |
返回字符串,其所有字符为大写。 |
upper("calculation") = "CALCULATION" |