最新历史版本 :计算字符串中指定字符个数 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本功能变更
11.0-

1.2 应用场景

希望找出目标字符串中指定字符共有多少个。

例如,希望找出目标字符串中 A 或 AA 字符的个数,如下图所示:
2020-12-28_14-35-06.jpg

2. 实现思路编辑

2.1 单个指定字符

将目标字符串拆分为数组,使用指定字符过滤数组得到新数组,然后统计新数组长度,即为指定字符的个数。

1)将目标字符串拆分为数组,分隔符为空,公式为:SPLIT(目标字符串, "")

222
2)使用指定字符过滤上一步得到数组得到新数组,公式为:GREPARRAY(上一步结果, item = "A")
222

3)统计新数组长度,公式为:LEN(上一步结果)
222

4)综合公式为:LEN(GREPARRAY(SPLIT(目标字符串, ""), item = "A"))
222

2.2 单个或多个指定字符

用指定字符和附加符拼接目标字符串得到一个新字符串,将新字符串拆分为数组,然后统计数组长度减去 2 ,即为指定字符的个数。

1)用指定字符和附加符拼接目标字符串得到一个新字符串,这里指定字符为 AA,附加符为 - ,公式为:CONCATENATE("AA",目标字符串,"-" )

  • 在前面拼接一个指定字符串,保证目标字符串里完全没有指定字符的情况下,第二步的分割函数也能生效。

  • 在后面拼接一个附加符,防止指定字符刚好在目标字符串的末尾,附加符可以是任何不包含于指定字符的字符。

222
2)将上一步得到的新字符串拆分为数组,分隔符为指定字符串 AA ,公式为:SPLIT(上一步结果,"AA")
222

3)计算数组的长度并减去 2 ,公式为:LEN(上一步结果)-2
222

4)综合公式为:LEN(SPLIT(CONCATENATE("AA",目标字符串,"-"),"AA"))-2
222

3. 示例编辑

3.1 新建报表

点击顶部菜单栏「文件>新建普通报表」,新建一张普通报表。如下图所示:

新建普通报表.png

3.2 准备数据

新建一个内置数据集 Embedded1 。如下图所示:

3.png

3.3 设计报表

1)A1-F1 单元格输入文本,A2、A3 单元格输入文本,B2、B3 单元格拖入数据集字段设计报表样式。如下图所示:

2020-12-28_14-41-28.jpg

2)依次选中 C2-F2、C3-F3 单元格,分别插入公式,如下图所示:

1609138079342017.jpg

公式说明如下表所示:

单元格
公式说明
C2
SPLIT(B2, "")将目标字符串拆分为数组
D2GREPARRAY(C2, item = "A")使用指定字符过滤目标数组形成新数组
E2LEN(D2)通过 LEN( ) 函数来计算新数组的长度
F2LEN(GREPARRAY(SPLIT(B2, ""), item = "A"))整合 C2-E2 的综合公式
C3CONCATENATE("AA",B3,"-")用指定字符串和附加符拼接目标字符串
D3SPLIT(C3,"AA")将目标字符串拆分为数组
E3LEN(D3)-2通过 LEN( ) 函数来计算数组的长度
F3LEN(SPLIT(CONCATENATE("AA",B3,"-"),"AA"))-2整合 C3-E3 的综合公式

3.4 效果预览

3.4.1 PC端

PC 端效果如下图所示:

2020-12-28_14-35-06.jpg

3.4.2 移动端

移动端效果如下图所示:

2.jpg

4. 下载模板编辑

点击下载已完成模板:计算字符串中指定字符个数.cpt