Skip to content

文本函数

处理字符串文本的函数。

字符串拼接

将多个文本字符串合并成一个文本字符串。字段或者函数之间,用逗号隔开,如果是字符串,需要用引号包裹起来。

  • 用法

    HZ_CONCATENATE(text1, [text2], ...)

  • 参数

    • text1 字符串1
    • text2 字符串2
    • ...
  • 返回值:string

  • 示例

    HZ_CONCATENATE(HZ_TEXT(HZ_DATE(2014, 6, 1), 'yyyyMMdd'), '-', 姓名, '-', 'AAA', '-', 学号)

    结果: '20140601-小宇-AAA-05'

字符串比较

比较两个字符串是否完全相同(区分大小写)。

  • 用法

    HZ_EXACT(text1, text2)

  • 返回值:boolean

  • 参数

    • text1 字符串1
    • text2 字符串2
  • 示例

    HZ_IF(HZ_EXACT(手机号, 中奖手机号), '恭喜中奖', '感谢参与')

字符串截取

从一个文本字符串的第一个字符开始返回指定个数的字符。

  • 用法

    HZ_LEFT(text, [num_chars])

  • 参数

    • text 待截取的原文本
    • num_chars 截取个数
  • 返回值:string

  • 示例

    HZ_LEFT('hz2010060105', 5), 结果: 'hz201'

字符串长度

返回文本字符串中的字符个数。

  • 用法

    HZ_LEN(text)

  • 参数

    • text 目标字符串
  • 返回值:number

  • 示例

    HZ_LEN('hz2010060105'), 结果: 12

注意

中文占两个字符

字符串转小写

将一个文本字符串中的所有大写字母转换为小写字母。

  • 用法

    HZ_LOWER(text)

  • 参数

    • text 目标字符串
  • 返回值:string

  • 示例

    HZ_LOWER('HZ1234'), 结果: 'hz1234'

字符串转大写

将一个文本字符串中的所有小写字母转换为大写字母。

  • 用法

    HZ_UPPER(text)

  • 参数

    • text 待处理文本
  • 返回值:string

  • 示例

    HZ_UPPER('hello world!') 结果: 'HELLO WORLD!'

字符串替换

根据指定的字符数,将部分文本字符串替换为不同的文本字符串。

  • 用法

    HZ_REPLACE(old_text*, start_num*, num_chars*, new_text*)

  • 参数

    • old_text 要替换其部分字符的文本。
    • start_num old_text 中要替换为 new_text 的字符位置。
    • num_chars old_text 中希望使用 new_text 来进行替换的字符数。
    • new_text 将替换 old_text 中字符的文本。
  • 返回值:string

  • 示例

    HZ_REPLACE('hzdeptxxx1234', 2, 7, 'user'), 结果: 'hzuser1234'

字符串重复

将文本重复一定次数。

  • 用法

    HZ_REPT(text, number_times)

  • 参数

    • text 需要重复显示的文本
    • number_times 用于指定文本重复次数的正数
  • 返回值:string

  • 示例

    HZ_REPT('hz', 3) 结果 'hzhzhz'

字符串查询

在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。返回0则表示未查找到。

  • 用法

    HZ_SEARCH(find_text*, within_text*, [start_num])

  • 参数

    • find_text 要查找的文本。
    • within_text 要在其中搜索 find_text 参数的值的文本。
    • start_num within_text 参数中从之开始搜索的字符编号。
  • 返回值:number

  • 示例

    HZ_SEARCH('user', 'hzuser1234') 结果: 3

获取文本右侧字符

从文本的右侧返回num_chars个字符。

  • 用法

    HZ_RIGHT(text, [num_chars])

  • 参数

    • text 包含要提取字符的文本字符串。
    • num_chars 指定希望提取的字符数。
  • 返回值:string

  • 示例

    HZ_RIGHT('hz12abc', 5) 结果: '12abc'

字符串反转

将字符串反转返回。

  • 用法

    HZ_REVERSE(text)

  • 参数

    • text 要反转的字符串。
  • 返回值:string

  • 示例

    HZ_REVERSE('hz12abc') 结果: 'cba21zh'

字符串分割

将文本按指定字符串分割成数组。

  • 用法

    HZ_SPLIT(text, text_separator)

  • 参数

    • text 待分割文本
    • text_separator 分割符
  • 返回值:string

  • 示例

    HZ_SPLIT('hz-user-admin', '-') 结果: 'hz,use,admin'

去除首尾空格

删除字符串首尾的空格,但是会保留字符串内部作为词与词之间分隔的空格。

  • 用法

    HZ_TRIM(text)

  • 参数

    • text 待处理文本
  • 返回值:string

  • 示例

    HZ_TRIM(' HZ USER1234 ') 结果: 'HZ USER1234'

截取特定字符

返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。

  • 用法

    HZ_MID(text, start_num*, num_chars*)

  • 参数

    • text 包含要提取字符的文本字符串。
    • start_num 文本中要提取的第一个字符的位置。文本中第一个字符的start_num为 1,以此类推。
    • num_chars 指定希望从文本中返回字符的个数。
  • 返回值:string

  • 示例

    HZ_CONCATENATE(HZ_MID('481456199109058088', 7, 4), '-', HZ_MID('481456199109058088', 11, 2), '-', HZ_MID('481456199109058088',13,2)) 提取得到生日: '1991-09-05'

数字转文本

将数字转化成文本。

  • 用法

    HZ_TEXT(num)

  • 参数

    • num 数字
  • 返回值:string

  • 示例

    HZ_TEXT(123.45678) 得到: '123.45678'

    HZ_TEXT(12) + HZ_TEXT(34) 得到: '1234'

文本转数字

将文本转化为数字。

  • 用法

    HZ_VALUE(text)

  • 参数

    • text 待处理文本
  • 返回值:number

  • 示例

    HZ_VALUE('90') + HZ_VALUE('80') 结果: 170

判断是否为空

判断值是否为空字符串、空对象或者空数组。

  • 用法

    HZ_ISEMPTY(text)

  • 参数

    • text 待处理文本
  • 返回值:boolean

  • 示例

    HZ_IF(HZ_ISEMPTY(单选), 'A', 'B')

    HZ_IF(HZ_ISEMPTY(单选) == HZ_TRUE(), 'A', 'B')

    HZ_IF(HZ_ISEMPTY(单选) == 1, 'A', 'B')

    以上三种方式,均表示该"单选"控件为空值。(注意,判断的是该单选控件被编辑后是否为空值)

格式化时间

将时间转换成特定格式的文本

  • 用法

    HZ_DATETEXT(date, text_format)

  • 参数

    • date 日期对象
    • text_format 格式化字符串,可以使用的格式有:
      • yyyy 表示年
      • MM 表示月
      • dd 表示日
      • HH 表示24小时制的时
      • mm 表示分
      • ss 表示秒
      • E 表示星期,结果为0-6,分别表示星期日~星期六
      • EE 表示星期,结果例如:日、一、二等
      • EEE 表示星期,结果例如:星期日、星期一、星期二等
  • 返回值:string

  • 示例

    HZ_DATETEXT(HZ_DATE(2017, 5, 25), 'yyyyMMdd') 结果: '20170525'

    (也可以把上面的 HZ_DATE(2017, 5, 25) 换成一个日期控件):

    HZ_DATETEXT(日期控件, 'yyyyMMdd') 并选中相应的日期,结果: '20170525'

格式化数字

将数字转换成特定格式的文本

  • 用法

    HZ_NUMBERTEXT(num, text_format)

  • 参数

    • num 数字
    • text_format 格式化字符串,可以使用的格式有:
      • # 数字占位符。只显示有意义的数据而不显示无意义的数据。小数点后数字如果大于"#"的数量,则按"#"的位数四舍五入。小数点后数字如果小于"#"的数量,则显示实际值。
      • 0 数字占位补位符。如果小数点前的数据的长度大于占位符,则显示实际数据,如果小于占位符的数量,则用0补足。小数点后的数据的长度大于占位符,则按"0"的位数四舍五入。小数点后数字如果小于"0"的数量,则用"0"补足。
      • , 千位分隔符。可插入"#"或"0"中使用,数字中插入千位分隔符。 合法使用形式: (1)需要在小数点前使用 (2)需要在"#"或"0"之间
      • %:百分比。放在数字占位符或补位符之后。数据以百分比形式显示。
      • [Num0] 显示原始数据
      • [Num1] 将数字转换为中文小写。123显示为一百二十三
      • [Num2] 将数字转换为中文大写。123显示为壹佰贰拾叁
      • 直接在[Num0]或#或0的之间加字符即是前缀,支持中文字符,英文大小写,人民币符号、美元符号、及空格。
  • 返回值:string

  • 示例

    HZ_NUMBERTEXT(23.1, '##.##') 结果为: '23.1'

    HZ_NUMBERTEXT(23.1578, '##.##') 结果为: '23.16'

    HZ_NUMBERTEXT(23.1, '000.00') 结果为: '023.10'

    HZ_NUMBERTEXT(23.1578, '000.00') 结果为: '023.16'

    HZ_NUMBERTEXT(23.1, '#%') 结果为: '2310%'