文本函数

<< 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"