Skip to content

计算公式专题:「文本函数」

文本函数 是系统内处理文本数据,并返回文本的核心公式,可配合其他函数处理有关文本的拼接、替换、查询等工作。

1. JOIN | CONCAT

均为文本拼接函数,但分别由不同的使用场景

函数格式函数功能参数
JOIN(数组, 分隔符)数组 内所有元素
分隔符 连接起来
数组 / 其他函数
CONCAT(参数1, 参数2, ...)将所有参数逐个连接为一个文本文本 / 数值 / 数组 / 其他函数

使用举例:

拼接小朋友想吃的水果列表,并依据姓名组装成有意义的句子。

2. LOWER | UPPER

与字母的大小写变换有关

函数格式函数功能参数
UPPER(参数)将传入参数中的小写字母全部转为大写字母文本 / 返回文本的其他函数
LOWER(参数)将传入参数中的大写字母全部转为小写字母文本 / 返回文本的其他函数

使用举例:

处理文本中的字母,转为大写 / 小写

3. REPLACE | REPLACE_ONE | REPLACE_ALL

用户替换文本内容的函数

函数格式函数功能参数
REPLACE
(文本, 起始位置, 长度, 替换文本)
将文本的一部分替换为其他文本文本: 文本 / 返回文本的其他函数
起始位置: 数值 / 返回数值的其他函数
长度: 数值 / 返回数值的其他函数
替换文本: 文本 / 返回文本的其他函数
REPLACE_ONE
(文本, 匹配文本, 替换文本)
替换目标文本中第一个匹配到的文本文本 / 返回文本的其他函数
REPLACE_ALL
(文本, 匹配文本, 替换文本)
替换目标文本中匹配到的所有文本文本 / 返回文本的其他函数

提示

匹配文本 支持使用正则表达式


使用举例:

三个函数的差异比较如下:

  • REPLACE:指定区间文本替换,无需 匹配文本
  • REPLACE_ONE:替换第一个匹配到的文本
  • REPLACE_ALL:替换所有匹配到的文本

差异效果如下图:

4. LENGTH | SEARCH | SLICE

这一组函数互相之间并没有联系,但实际使用中,经常将三者组合使用,遂一并说明

函数格式函数功能参数
LENGTH(文本)返回文本长度文本 / 返回文本的其他函数
SEARCH
(文本, 关键字, [开始位置])
查找关键字在文本中第一次出现的位置文本/关键字: 文本 / 返回文本的其他函数
开始位置(选填): 数值 / 返回数值的其他函数
SLICE
(目标文本, 开始位置, [结束位置])
按指定位置截取文本目标文本: 文本 / 返回文本的其他函数
开始/结束位置: 数值 / 返回数值的其他函数

使用举例:

截取指定字符之后的文本

拓展-SLICE

SLICE 函数也支持从尾部开始截取文本,常规写法: SLICE(文本, SUM(- 截取长度, 1))
此写法表示 截取末尾“截取长度”个字符

下面提供一个上述示例中的 SLICE 函数的等价实现方式,计算结果是完全一致的

js
SLICE(待处理文本, SUM(关键字所在位置, - 文本长度, 1))

注意公式中 文本长度 前面的 - ,这将原本的 正数 变为了 负数

SEARCH | LENGTH 的返回值

它们的返回值类型为 文本,并非 数值,无法参与 基础运算

例如上图举例中采用了 SUM(关键字所在位置, 1) 而非 关键字所在位置 + 1
前者会正确计算 加一 ,而后者无法获取 加一 后的结果,后者需要修改为 NUMBER(关键字所在位置) + 1 才能实现 加一 运算。

5. STRING | CHAR

这两个函数与转换相关,前者转换数据类型,后者则是转义符,两者的使用场景都很少

函数格式函数功能参数
STRING(数值)将参数强制转换为文本任意类型
CHAR(数值)将数字转换为字符集中对应的字符数值 / 返回数值的函数

CHAR

本质上是在使用 ASCII码表 ,详情可查阅:ASCII码表


使用示例1

这里使用 JOIN-CONCAT 中的例子,将 选择水果 作为参数传入 STRING
公式:STRING(选择水果)
可以得到结果:苹果,梨子,葡萄

使用示例2

设置公式:CHAR(数值)
数值输入:33
可以得到结果:! (半角感叹号)

6. 加密算法函数

这类函数一般是调用 钉钉、企微 等平台的API时,会使用到的加密算法函数。
通常用于校验。

函数格式函数功能参数
MD5(加密文本, 编码格式)MD5加密算法文本 / 返回数值的其他函数
SHA1(加密文本, 编码格式)SHA1加密算法文本 / 返回数值的其他函数
SHA224(加密文本, 编码格式)SHA224加密算法文本 / 返回数值的其他函数
SHA256(加密文本, 编码格式)SHA256加密算法文本 / 返回数值的其他函数
SHA384(加密文本, 编码格式)SHA384加密算法文本 / 返回数值的其他函数
SHA512(加密文本, 编码格式)SHA512加密算法文本 / 返回数值的其他函数
HMAC256(加密文本, 密钥, 编码格式)基于密钥的SHA256加密算法文本 / 返回数值的其他函数

使用举例:

设置公式: MD5(文本, "base64")
文本输入: hzy.会众云
可得到结果:aU5baAH7gVPiaSaRwWomoQ==

其他加密函数

使用方式与举例一致

7. 加解密函数

这类函数一般承担 加密传输 之类的工作。

函数格式函数功能参数
SM4_ECB_E(加密Key, 待加密字符串, 编码格式)sm4-ecb加密函数
(不包含iv向量)
文本 / 返回数值的其他函数
SM4_ECB_D(加密Key, 待解密字符串, 编码格式)sm4-ecb解密函数
(不包含iv向量)
文本 / 返回数值的其他函数
AES_ECB_E(加密Key, 待加密字符串, 编码格式)aes-128-ecb加密函数
(不包含iv向量)
文本 / 返回数值的其他函数
AES_ECB_D(加密Key, 待解密字符串, 编码格式)aes-128-ecb解密函数
(不包含iv向量)
文本 / 返回数值的其他函数

使用举例:

对文本加解密

加密Key

只是一个在加解密过程中使用到的工具字符串,随机输入一个即可

提示

加解密函数一般都是成对使用的,一方加密,另一方解密;双方使用相同的算法和加密Key

8. 案例补充

更多案例

这里会存放一些相对简单的案例,复杂或常用案例可以移步至 常用公式举例 查阅。

  • 持续更新中...