反馈已提交

网络繁忙

计算字符串中指定字符个数

  • 文档创建者:axing
  • 历史版本:14
  • 最近更新:Fairy.Zhang 于 2024-08-29
  • 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

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持