反馈已提交

网络繁忙

您正在浏览的是 FineBI6.1 帮助文档,点击跳转至: FineBI5.1帮助文档

截取多次出现的指定字符后的内容

  • 文档创建者:Roxy
  • 历史版本:17
  • 最近更新:April陶 于 2024-12-05
  • 1. 概述

    1.1 预期效果

    用户有时需要截取字段中多次出现的某个字符指定位置的字符。

    例如用户有字段长度不同的字符,需要截取最后一个_后的字符,如下图所示:

    或者用户需要截取 A|B|C 字段中 B 列的值,例如用户需要截取所有学历信息,如下图所示:

    1.2 实现思路

    可以通过功能一键拆分按分隔符拆分」,或者使用 INDEXOFFINDMIDSUBSTITUTERIGHT 等函数组合实现截取字段。

    2. 截取最后一个指定字符后的字符

    示例数据:截取多次出现的字符后的内容.xlsx

    上传示例数据至 FineBI 中,如下图所示:


    2.1 新建分析主题

    新建分析主题步骤可参见:新建分析主题

    2.2 截取指定字符


    添加「新增列」,命名为「截取最后一个_后的字符」,输入公式INDEXOF(SPLIT(字段,"_"),LEN(SPLIT(字段,"_"))-1),点击「确定」,如下图所示:

    公式说明:

    公式
    说明结果
    SPLIT(字段,"_")将字段按照_分割成数组

    分割前:a_b_c

    分割后:a,b,c

     LEN(SPLIT(字段,"_"))-1

    计算字段按照_分割后的数组数-1


    例如 a_b_c 的计算结果为 2

    INDEXOF(SPLIT(字段,"_"),LEN(SPLIT(字段,"_"))-1)返回SPLIT()分割后数组在最后一个_后的字符例如 a_b_c 的计算结果为 c

    2.2.2 方法三

    1)添加「新增公式列」,计算「计算字段按照_分割后的字符数」,输入公式:LEN(SPLIT(字段,"_")),例如 a_b_c 的计算结果为 3 ,如下图所示:

    2)添加「新增公式列」,计算「将最后一个_替换为-」,输入公式:SUBSTITUTE(字段,"_","-",LEN(SPLIT(字段,"_"))-1),如下图所示:

    3)添加「新增公式列」,计算「从第一个字符开始查找-所在的位置」,输入公式:FIND("-",SUBSTITUTE(字段,"_","-",LEN(SPLIT(字段,"_"))-1),1),如下图所示:

    4)添加「新增公式列」,命名为「计算最后一个_后的字符数」,输入公式:LEN(字段)-FIND("-",SUBSTITUTE(字段,"_","-",LEN(SPLIT(字段,"_"))-1),1),如下图所示:

    5)添加「新增公式列」,提取字段中最后一个_后的字符,命名为「截取指定字符」,输入公式RIGHT(字段,LEN(字段)-FIND("-",SUBSTITUTE(字段,"_","-",LEN(SPLIT(字段,"_"))-1),1)),如下图所示:

    2.3 效果展示

    详情参见本文 1.1 节。

    3. 截取A|B|C 字段中 B 列的值

    注:B 列每条数据字段长度不一致。

    示例数据:招聘信息.xlsx

    上传示例数据至 FineBI 中,如下图所示:

    3. 1新建分析主题

    新建分析主题可参见:新建分析主题

    3.2 截取指定字符

    3.2.1 方法一

    在数据编辑界面点击「更多>拆分行列」,进入功能界面,如下图所示:


    将字段按分隔符「|」进行拆分,拆分位置选择「第2个字段」。如下图所示:

    3.2.2 方法二

    添加「新增公式列」,命名并输入公式:INDEXOF(SPLIT(地区学历人数,"|"),1) ,点击「确定」,如下图所示:

    公式说明:

    公式
    说明
    SPLIT(地区学历人数,"|")

    将地区学历人数字段根据 | 字符进行划分

    例如:「深圳|本科|招5人」变成「深圳,本科,招5人」

    INDEXOF(SPLIT(地区学历人数,"|"),1)

    返回划分结果字符串第二个位置上的内容

    例如:「深圳,本科,招5人」返回「本科」

    3.2 效果展示

    详情参见本文 1.1 节。

    更多截取字段内容详情参见:字段分列

    附件列表


    主题: 进阶学习
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    10s后关闭



    AI

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