文本处理类函数


  • 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做为起始位置,从文本倒数第二个字符开始查找替换。

>