文本处理类函数
- STRLEN 得到文本长度
- STRLENB 得到以字节计的文本长度
- LOWER 转换文本为小写
- UPPER 转换文本为大写
- UCFIRST 转换第一个字符为大写
- UCWORDS 将文本中所有单词的首字符大写
- CODE 字符转换为编码数字
- CHAR 编码数字转换为字符
- STRSIMILAR 计算两个文本相似程度,结果为0-100,0为完全不同,100为完全相同
- STRINSERT 文本中插入一段文本
- STRREPT 重复一段文本
- JOIN 把一个数组中的文本连接成一个文本
- PADLEFT 使用指定的字符或是文本填充在文本前面
- PADRIGHT 使用指定的字符或是文本填充在文本末尾
- FORMAT_MONEY 格式化一个货币数字
- FORMAT_DATE 格式化一个日期
- REPLACE 替换文本
- REPLACE_M 一次性对文本中的多个内容进行查找替换操作
- REPLACE_SUB 替换分段文本中的某一段
- TRIMLEFT 去除文本左边的空格
- TRIMRIGHT 去除文本右边的空格
- TRIM 去除文本前后的空格
- REMOVECHAR 删除文本中的指定字符
- STRCLEAN 去除文本中不可打印字符,包括回车换行
- LEFT 从左边得到指定长度的文本
- LEFTB 以字节计的方式从左边得到指定长度的文本
- RIGHT 从右边得到指定长度的文本
- RIGHTB 以字节计的方式从右边得到指定长度的文本
- MID 从中间得到指定长度的文本
- MIDB 以字节计的方式从中间得到指定长度的文本
- STRPICK 使用某个字符或是文本对目标文本进行分隔,然后从中取一个子文本。
- STRPICK_FOLLOWING 分隔文本,然后提取某个位置以后的文本。
- STRPICK_PRECEDING 分隔文本,然后提取某个位置以前的文本。
- STRPICK_MID 分隔文本,然后提取某两个位置中间的文本。
- STRCOUNT 统计指定的文本或者字符在另一文本中出现的次数。
- STRDIFFER 得到两个文本相同或者是不同的部分
- STRSTR 查找文本
- STRSTRI 查找文本(不区分大小写)
- STRPOS 查找文本并返回出现的位置
- STRPOSI 查找文本并返回出现的位置(不区分大小写)
- RSTRPOS 从末尾开始查找文本并返回出现的位置
- RSTRPOSI 从末尾开始查找文本并返回出现的位置(不区分大小写)
- STR_ANSI_CONVERT 转换一个ANSI文本到UNICODE, 或者从一个UNICODE转换到ANSI
- STR_UTF8_CONVERT 转换一个UTF8文本到UNICODE, 或者从一个UTF8转换到UNICODE
- BASE64_ENCODE 用BASE64编码一段文本
- BASE64_DECODE 用BASE64解码一段文本
- MD5 计算一段文本的MD5值
- HMAC_SHA1 计算一串文本的HMAC-SHA1值
- SHA1 计算一串文本的SHA1散列值
- AESENC 用AES256算法加密一段文本
- AESDEC 解密用AES256算法加密的一段文本
- URLENC 对文本做URL编码
- URLDEC 对文本做URL解码
- URLPARSE 分析URL并返回指定的部分
- URLFILENAME 分析URL并返回其中的文件名部分
- REGEXP_FIND 使用正则表达式对一个文本进行搜索并且返回结果。
- REGEXP_INDEXOF 使用正则表达式对一个文本进行搜索并且第一个匹配的位置。
- REGEXP_REPLACE 使用正则表达式对一个文本进行搜索并替换,并且返回替换后的文本。
STRLEN
得到文本长度。
数字 STRLEN( 文本 )
STRLENB
得到以字节计的文本长度。
数字 STRLENB( 文本 )
LOWER
转换文本为小写。
文本 LOWER( 文本 )
UPPER
转换文本为大写。
文本 UPPER( 文本 )
UCFIRST
转换第一个字符为大写。
文本 UCFIRST( 文本 )
UCWORDS
将文本中所有单词的首字符大写。
文本 UCWORDS( 文本 )
CODE
字符转换为编码数字。
数字 CODE( 文本 [, 位置 = 0 ] )
说明:参数"位置"是可选参数,默认为 0 ,表示文本第一个字符。
CHAR
编码数字转换为字符。
文本 CHAR( 数字 )
STRSIMILAR
数计算两个文本的相似程度。
数字 STRSIMILAR( 文本1, 文本2 )
说明:此函数计算两个文本的相似程度,并返回一个 0 - 100的数字,0表示完全不同,100为完全相同。如: STRSIMILAR( "abc", "abcd"),返回数字75 。
STRINSERT
文本中插入一段文本。
文本 STRINSERT( 文本, 位置, 需要插入的文本 )
STRREPT
重复一段文本。
文本 STRREPT( 文本 )
JOIN
把一个数组中的文本连接成一个文本。
文本 JOIN( 文本, 分隔符 )
示例:
v_array[0] = abc
v_array[1] = def
%=JOIN(v_array,",")% 返回文本 "abc,def"
PADLEFT
使用指定的字符或是文本填充在文本前。
文本 PADLEFT( 文本, 填充长度或是次数, 填充文本 [, 是否是次数填充 = FALSE ] )
示例:
%=PADLEFT( "This", 10, "0123" )% 返回文本 "0123012This"
%=PADLEFT( "This", 3, "bc-", TRUE)% 次数方式填充,连续填充3次bc-,返回文本 "bc-bc-bc-This"
PADRIGHT
使用指定的字符或是文本填充在文本末尾。
文本 PADRIGHT( 文本, 填充长度或是次数, 填充文本 [, 是否是次数填充 = FALSE ] )
示例:
%=PADRIGHT( "This", 10, "0" )% 返回文本 "This000000"
%=PADRIGHT( "This", 3, "-bc", TRUE)% 次数方式填充,连续填充3次bc-,"This-bc-bc-bc"
FORMAT_MONEY
格式化一个货币数字。
文本 FORMAT_MONEY( 数字 )
说明:例: 1000000, 转换为¥1,000,000.00。
FORMAT_DATE
格式化一个日期。
文本 FORMAT_DATE( 日期时间值 [, 格式文本 = "" ] )
说明:关于格式文本的详细内容,请点击此处。
示例:
%=FORMAT_DATE( now )% 使用系统缺省的日期格式, 返回文本 "2018/11/2"
%=FORMAT_DATE( now, "yyyy年MM月dd日")% 返回文本 2018年11月02日
%=FORMAT_DATE( now, "yyyy-MM-dd hh:mm")% 返回文本 2018-11-02 13:02
REPLACE
替换文本。
文本 REPLACE( 文本, 查找文本, 替换文本 )
REPLACE_M
一次性对文本中的多个内容进行查找替换操作。
文本 REPLACE_M( 要替换文本, 分段的查找串,分段的替换为内容 [,是否替换所有 = FALSE,分段用分隔符 = ";" ] )
例:
%=REPLACE_M("ab 12 cp 34","12;34", "DD;BB")% 结果为: ab DD cp BB
%=REPLACE_M("2015-10.20","-|.", "/|XXX", TRUE, "|")% 第一查找串是-,替换为/, 第二个查找串是.,需要替换为XXX, 结果为:2015/10XXX20
%=REPLACE_M("电话号码是01 10000000","是| ", ":+|-", TRUE, "|")% 查找是和空格,并且分别替换为:+,和- 。最后的结果为:电话号码:+01-10000000
%=REPLACE_M("电话: +123 电话:+234 电话: +111","电话;+", "Phone;", TRUE)% 查找电话和+,并且分别替换为Phone和:,并且全部替换。最后的结果为:Phone: 123 电话:+234 电话: +111
REPLACE_SUB
替换分段文本中的某一段。
文本REPLACE_SUB( 要替换文本,分隔符,替换哪一段分,替换文本 )
例:
%=REPLACE_SUB( "129.80.20.112", ".", 3, "255")% 以.分段,替换第三段 112,替换为255, 结果为: 129.80.20.255
TRIMLEFT
去除文本左边的空格。
文本 TRIMLEFT( 文本 )
TRIMRIGHT
去除文本右边的空格。
文本 TRIMRIGHT( 文本 )
TRIM
去除文本前后的空格。
文本 TRIM( 文本 )
REMOVECHAR
删除指定的字符,此函数可用于删除文本中的数字,或者一些特殊字符。
文本 REMOVECHAR( 文本,需要删除的字符 )
例一:REMOVECHAR( "abcdefgabc","abc" ) 将返回 defg。
例二:REMOVECHAR( "ab1c2d3efg4abc","1234567890" ) 将返回 abcdefgabc。
STRCLEAN
去除文本中的不可打印字符,包括回车换行。
文本 STRCLEAN( 文本 )
说明:此函数会去掉哪些不可打印的字符,比如回车换行等等一些控制符串。
LEFT
从左边得到指定长度的文本。
文本 LEFT( 文本, 数量 )
LEFTB
以字节计的方式从左边得到指定长度的文本。
文本 LEFTB( 文本, 数量 )
RIGHT
从右边得到指定长度的文本。
文本 RIGHT( 文本, 数量 )
RIGHTB
以字节计的方式从右边得到指定长度的文本。
文本 RIGHTB( 文本, 数量 )
MID
从中间得到指定长度的文本。
文本 MID( 文本, 位置 [, 数量 = -1 ] )
说明:参数"数量"是可选参数,如果不提供,则表示文本到末尾。
MIDB
以字节计的方从中间得到指定长度的文本。
文本 MIBD( 文本, 位置 [, 数量 = -1 ] )
说明:参数"数量"是可选参数,如果不提供,则表示文本到末尾。
STRPICK
使用某个字符或是文本对目标文本进行分隔,然后从中取一个子文本。
文本 STRPICK( 文本, 分隔符, 提取位置 )
参数:提取位置是以0 开始的, 0表示第一个,1 表示第二个,依次类推。分隔符或以为一个字符或是文本。
例:
%=STRPICK( "用户名,密码", ",", 1 )% 返回第二个文本 "密码"
%=STRPICK( "abc;cdef;xyz", ";", 1 )% 返回第二个文本 "cdef"
%=STRPICK( "abc--cdef--xyz", "--", 1 )% 使用 -- 进行分隔,取第二个,返回 "cdef"
STRPICK_FOLLOWING
使用某个字符或是文本对目标文本进行分隔,然后提取某个位置以后的文本。
文本 STRPICK_FOLLOWING( 文本, 分隔符, 第几个 [, 位置从末尾开始计数] )
参数:提取位置是以0 开始的, 0表示第一个,1 表示第二个,依次类推。分隔符或以为一个字符或是文本。
例:
%=STRPICK_FOLLOWING( "http://www.won-soft.com", ".", 1 )% 返回第二个.以后的所有内容,也就是com
STRPICK_PRECEDING
使用某个字符或是文本对目标文本进行分隔,同函数STRPICK_PRECEDING不同,这个函数是提取某个位置以前的文本。
文本 STRPICK_PRECEDING( 文本, 分隔符, 第几个(0为第一个) [, 位置从末尾开始计数] )
参数:提取位置是以0 开始的, 0表示第一个,1 表示第二个,依次类推。分隔符或以为一个字符或是文本。
例:
%=STRPICK_PRECEDING( "http://www.won-soft.com.cn", ".", 1 )% 返回第二个.以前的所有内容,也就是http://www.won-soft
STRPICK_MID
使用某个字符或是文本对目标文本进行分隔,然后提取某两个位置中间的文本。
文本 STRPICK_MID( 文本, 分隔符, 开始位置(0为第一个), 结束位置 [, 位置从末尾开始计数] )
参数:提取位置是以0 开始的, 0表示第一个,1 表示第二个,依次类推。分隔符或以为一个字符或是文本。
例:
%=STRPICK_MID( "http://www.won-soft.com.cn", ".", 0, 1 )% 返回第一个.出现到第二个.出现中间的内容,也就是won-soft
STRCOUNT
查找统计指定的文本或者字符在另一文本中出现的次数。
数字 STRCOUNT( 文本, 查找文本[, 是否区分大小写 = FALSE] )
例:
%=STRCOUNT( "我们的祖国是一个伟大的国家", "的" )% 返回数字2
%=STRCOUNT( "abc;cdef;xyz;", ";" )% 分号出现了三次,返回数字 3
%=STRCOUNT( "What he said had a greateffecton us.", "Had", TRUE )% 需要区分大小写,返回数字 0
STRDIFFER
得到两个文本相同或者是不同的部分。
文本 STRDIFFER( 文本, 文本2 [, 比较方式 = TRUE ] )
参数:比较方式,TRUE表示返回不同的部分, FALSE表示返回相同的部分。
例:
%=STRDIFFER( ”ABCD1234","1234", TRUE )% 返回相同文本 "1234"
%=STRDIFFER( ”ABCD1234","A1234", FALSE )% 返回不同文本 "BCD"
STRSTR
查找文本。
文本 STRSTR( 文本, 查找文本 )
说明:此函数在查找的时候要区分大小写,返回找到文本开始到末尾的文本,如果没有找到,则返回空文本。如: STRSTR( "这是一个例子", "一个" ),返回文本"一个例子"。
STRSTRI
查找文本(不区分大小写)。
文本 STRSTRI( 文本 )
STRPOS
查找文本并返回出现的位置。
数字 STRPOS( 文本,查找文本 [, 第几个 = 0 ] )
说明:此函数返回“查找文本”在“文本”中的位置,如果没找到,则返回-1,在查找的时候会区分大小写。
STRPOSI
查找文本并返回出现的位置(不区分大小写)。
数字 STRPOSI( 文本,查找文本 [, 第几个 = 0 ] )
RSTRPOS
从末尾开始查找文本并返回出现的位置。
数字 RSTRPOS( 文本,查找文本 [, 第几个 = 0 ] )
说明:此函数返回从末尾开始查找"查找文本"在"文本"中的位置,如果没找到,则返回-1,在查找的时候会区分大小写。
RSTRPOSI
从末尾开始查找文本并返回出现的位置(不区分大小写)。
数字 RSTRPOSI( 文本,查找文本 [, 第几个 = 0 ] )
STR_ANSI_CONVERT
将ANSI字符串转换为UNICODE,或将UNICODE字符串转换为ANSI。
文本 nSTR_ANSI_CONVERT( 文本 [, ANSI转UNICODE] )
参数ANSI转UNICODE的默认值指示如何转换给定的字符串
- TRUE(默认值)-- 将字符串转换为UNICODE。
- FALSE -- 将字符串转换为ANSI。
STR_UTF8_CONVERT
将UTF8字符串转换为UNICODE,或将UNICODE字符串转换为UTF8。
文本 STR_UTF8_CONVERT( 文本 [, UTF8转UNICODE] )
参数UTF8转UNICODE的默认值指示如何转换给定的字符串
- TRUE(默认值)-- 将字符串转换为UNICODE。
- FALSE -- 将字符串转换为UTF8。
BASE64_ENCODE
用BASE64编码一段文本。
文本 BASE64_ENCODE( 文本 )
BASE64_DECODE
用BASE64解码一段文本。
文本 BASE64_DECODE( 编码文本 [, 数据类型 = 0 ] )
参数 数据类型 可以为下列值:
- 0 (默认值) -- 被编码的数据是普通文本。
- 1 -- 被编码的数据是普通文本。
- 2 -- 被编码的数据是二进制数据,比如图像数据。
说明:参数“文本”必须是一个有效的BASE64编码文本。
MD5
计算一段文本的MD5值。
文本 MD5( 文本 )
HMAC_SHA1
计算一串文本的HMAC-SHA1值。
文本 HMAC_SHA1( 文本, 密码 )
例:
%=HMAC_SHA1("abcdefg","123456")% 返回文本 "04B09561DB1D5AA5E8A6ED6228D9F8A4F933AD1E"
AESENC
用AES256算法加密一段文本。
文本 AESENC( 文本, 密码 )
例:
%=AESENC("abcdefg", "aaaa")%
返回文本 "9BF9440BDE15E5FD8A8BF126CCF86BD2678778B6ABA579331F79947557B5E89B6787
78B6ABA579331F79947557B5E89B678778B6ABA579331F79947557B5E89B"
AESDEC
解码一段用AES256算法加密的文本。
文本 AESDEC( 文本, 密码 )
URLENC
对一段文本进行URL编码。
文本 URLENC( 文本 )
URLDEC
解码一段URL编码过的文本。
文本 URLDEC( 文本 )
URLPARSE
分析URL并返回指定的部分。
文本 URLPARSE( 网址 [, 部分 = "DOMAIN" ] )
部分 指定需要返回哪部分内容,可以为以下项:
-
DOMAIN 返回URL中的域名部分。
比如: URLPARSE( "http://www.won-soft.com", "DOMAIN") 返回:won-soft.com -
SITE 返回URL中的主机部分。
比如: URLPARSE( "http://www.won-soft.com/s/q.php", "SITE") 返回:http://www.won-soft.com -
SCHEMA 返回URL对应的协议部分。
比如: URLPARSE( "https://www.won-soft.com", "SCHEMA") 返回:https
URLFILENAME
分析URL并返回其中的文件名部分。
文本 URLFILENAME( 网址)
示例:
%=URLFILENAME( "http://www.abc.com/1.jpg" )% 返回 "1.jpg"
REGEXP_FIND
使用正则表达式对一个文本进行搜索并且返回查找到的文本。
文本 REGEXP_FIND( 文本, 正则表达式 [, 控制标记 = "", 返回所有内容时用的分隔符 = "",起始位置 = 0 ] )
参数:
- 文本 要查找的文本。
- 正则表达式 查找用正则表达式。
- 控制标记 控制标记是一个文本,用于指定如何进行查找,可以为下面的值:
- i 指定查找不用区分英文大小写,默认情况下对英文的查找是要区分大小写的。要注意的是[]内的英文字母是不受这个标记影响的,会仍然区分大小写。
- g 指定是否需要返回所有匹配的文本,默认情况下只返回第一个。
- 返回所有内容时用的分隔符 如果控制标记中含有 g ,并且有超过一个的文本被找到时,用这个分隔符连接这些查找到的文件,详细见下面的例子。
- 起始位置 指定从什么位置开始查找,也是以0为第一个字符位置。如果这个数字为负数,则表示从文本末尾倒数第几个字符开始查找匹配。
示例:
%=REGEXP_FIND( "abcdef 123", "\d+" )% 返回找到的数字 "123"
%=REGEXP_FIND( "abcdef 123", "a[a-z]+" )% 返回 "abcdef"
%=REGEXP_FIND( "abcdef 123", "A[a-z]+", "i")% 用了标记i,不区分大小写, 返回文本将为 "abcdef"
%=REGEXP_FIND( "abcdef 123", "a+", "", "", -3)% 指定了起始位置-3, 从文本末尾倒数第三个字符开始进行查找,如果查找不到满足条件的内容,返回文本将为空。
%=REGEXP_FIND( "abcdef 123 abc 678", "\d+", "g")% 使用了控制标记g,将返回所有数字,由于没有指定分隔符,使用默认的分号;做为分隔符,结果为 "123;678"
%=REGEXP_FIND( "abcdef 123 abc 678", "\d+", "g", "-")% 指定了分隔符-, 返回结果为 "123-678"
%=REGEXP_FIND( "abcdef 123 abc 678 efg 910", "\d+", "g", "-", 10)% 指定了分隔符-, 起始位置10跳过了第一个数字,返回结果为 "678-910"
REGEXP_INDEXOF
使用正则表达式对一个文本进行搜索并且第一个匹配的位置。这个位置是以数字0开始的,如果没有找到,则返回-1。
数字 REGEXP_INDEXOF( 文本, 正则表达式 [, 起始位置 = 0,控制标记 = "" ] )
参数:
- 文本 要查找的文本。
- 正则表达式 查找用正则表达式。
- 起始位置 指定从什么位置开始查找,也是以0为第一个字符位置。如果这个数字为负数,则表示从文本末尾倒数第几个字符开始查找匹配。
- 控制标记 控制标记是一个文本,用于指定如何进行查找,可以为下面的值:
- i 指定查找不用区分英文大小写,默认情况下对英文的查找是要区分大小写的。需要注意的是[]内的英文字母是不受这个标记影响的,会仍然区分大小写。
- g 指定是否需要返回所有匹配的文本,默认情况下只返回第一个。
示例:
%=REGEXP_INDEXOF( "abc123", "\d+" )% 返回数字 3。
%=REGEXP_INDEXOF( "abc123", "\d+", 7 )% 指定了起始位置7, 超出了文本长度,查找失败, 返回 -1。
%=REGEXP_INDEXOF( "abc123", "\d+", -2 )% 指定了起始位置-2, 从倒数第2个字符开始查找, 返回结果 4
%=REGEXP_INDEXOF( "8 abcdef 123", "\d+", 3)% 返回 9, 指定了起始位置3,跳过了第一个数字。
%=REGEXP_INDEXOF( "8 abcdef 123 Abc", "A[a-z]+")% 返回 13, 默认情况下是区分大小写的,只有最后的Abc才能匹配。
%=REGEXP_INDEXOF( "8 abcdef 123 Abc", "A[a-z]+", 0, "i")% 返回2, 由于使用了大小写控制标记 "i", 忽略大小写,所以第一个abc也会被匹配。
REGEXP_REPLACE
使用正则表达式对一个文本进行搜索并替换,并且返回替换后的文本。
string REGEXP_REPLACE( 文本, 正则表达式 [, 替换用文本 = "", 控制标记 = "",起始位置 = 0 ] )
参数:
- 文本 要查找的文本。
- 正则表达式 查找用正则表达式。
- 替换用文本 指定用来替换的文本。
- 控制标记 控制标记是一个文本,用于指定如何进行查找,可以为下面的值:
- i 指定查找不用区分英文大小写,默认情况下对英文的查找是要区分大小写的。要注意的是[]内的英文字母是不受这个标记影响的,会仍然区分大小写。
- g 指定是否需要返回所有匹配的文本,默认情况下只返回第一个。
- 起始位置 指定从什么位置开始查找替换,也是以0为第一个字符位置。如果这个数字为负数,则表示从文本末尾倒数第几个字符开始查找匹配。
示例:
%=REGEXP_REPLACE( "abc123", "\d+", "999")% 返回 "abc999"
%=REGEXP_REPLACE( "8 abcdef 123", "\d+", "", "g")% 返回 " abcdef", 由于替换内容为空,实际效果就是删除所有数字。
%=REGEXP_REPLACE( "abc123", "(\d+)", "$1-999" )% 返回 "abc123-999",使用了$1取第一项匹配原始内容。
%=REGEXP_REPLACE( "abc123", "\d+", "999", "", -2)% 返回 "abc1999",使用-2做为起始位置,从文本倒数第二个字符开始查找替换。