反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

提取字符串中的数字

  • 文档创建者:axing
  • 历史版本:7
  • 最近更新:Roxy 于 2022-06-06
  • 1. 概述

    1.1 应用场景

    有时候我们希望从目标字符串中提取出所有的数字,重新组合成一个字符串,如下图所示:
    2020-12-28_15-23-33.jpg

    1.2. 实现思路

    先将字符串分割成数组,再对数组每一项进行筛选,保留下数字,最后以字符串输出。

    方案一:

    1)先利用 split( ) 函数进行分割,这里要分割每一项,所以分割符为空:=split(目标字符串,""),如下图所示:
    222

    2)利用 GREPARRAY( ) 函数对上一步结果进行筛选,这里使用了 regexp( ) 函数来判断是否是数字:=GREPARRAY(上一步结果, regexp(item, "[0-9]")),如下图所示:
    222
    3)使用 JOINARRAY( ) 函数将数组以字符串方式输出,拼接符为空:=JOINARRAY(上一步结果, ""),如下图所示:
    222

    4)综合起来,公式就是=JOINARRAY(GREPARRAY(split(目标字符串, ""), regexp(item, "[0-9]")), ""),如下图所示:
    222

    方案二:

    使用公式:JOINARRAY(split('a1B2Cc3','\\D'),'')

    公式说明:SPLIT 函数的第二个参数支持支持正则表达式作为间隔,因此这里的 \\D 表示的是匹配一个非数字字符,然后再用JOINARRAY( ) 函数将数组以字符串方式输出,拼接符为空。

    2. 示例

    2.1 模板设计

    1)将数据集字段拖到单元格 A2 ,如下图所示:

    2020-12-28_15-08-32.jpg

    2)依次选中 B2~E2 单元格,设置形态公式,如下表所示:

    单元格公式作用
    B2
    split(A2,"")用 split( ) 函数进行分割
    C2GREPARRAY(B2, regexp(item, "[0-9]"))用 GREPARRAY( ) 函数对上一步结果进行筛选,这里使用了 regexp( ) 函数来判断是否是数字
    D2JOINARRAY(C2, "")用 JOINARRAY( ) 函数将数组以字符串方式输出
    E2JOINARRAY(GREPARRAY(split(A2, ""), regexp(item, "[0-9]")), "")整合B2~D2公式

    2020-12-28_15-22-40.jpg

    2.2 效果预览

    1)PC端

    保存模板,点击PC端预览,如下图所示:

    2020-12-28_15-23-33.jpg

    2)移动端

    1609140366634332.jpg

    3. 模板下载

    点击下载模板:提取字符串中的数字.cpt

    附件列表


    主题: 报表专题
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526