跳到主要内容

如何根据字符取内容

场景描述

主要是用在各类编号或URL等长字符串中,取出中间的关键值。

取两个相同字符之间的内容

以“采购-2021-0001”为例,想要取出字符“-”之间的内容,即2021。

涉及到的函数

SEARCHE(),需要找到目标字符

LEN(),计算当前字符长度

MID(),提取字符间的内容

LEFT(),左起指定位置取内容

RIGHT(),右起指定位置取内容

字段设置

设置以下字段,均为单行文本,“待取内容字段”,“第一个字符前的内容”,“中间内容”,“第二个字符后的内容”

图片.png

公式设置

取第一个“-”前的内容,公式设置为:

图片.png

公式说明:

  • SEARCH()查找字段中,第一个“-”的位置

  • NUM()将位置值转为数字值,方便执行计算,-1的意义是:查找到的当前位置结果包含了第一个字符“-”,因此减1去掉符号“-”,只保留内容。

效果展示:

图片.png

取两个“-”之间的内容,公式设置为:

图片.png

公式说明:

MID函数需要3个参数,MID(字段,取值开始的位置,取值的位数)。

  • 取值起始位置,从第一个“-”后的内容开始算起,+1的意义是:查找到的当前位置结果包含了第一个字符“-”,因此+1是从“-”后开始取内容
  • 第三部分内容,是取值的位数,从第一个“-”查起,找到第二个“-”的位置,即从第一个“-”开始取,至第二个“-”结束,至此,两个“-”之间的内容就可以提取出来了。

效果展示:

图片.png

取第二个“-”后的内容,公式设置为:

图片.png

公式说明:

  • 从右边开始取,字段总字符数减去第一个字符前的字符数+中间内容的字符数量,再减去2个“-”占用的位数,剩下的内容即为第二个字符后面的内容

实现效果

图片.png

取两个不同字符之间的内容(固定字符顺序)

以 123456-ABCD?!!! 为例,取出“-”与“?”之间的内容,即ABCD。

处理方式与上述操作相同,不过中间内容的公式需要修改一下,调整如下:

图片.png

至此,可以实现提取两个不同字符之间的内容了。

实现效果

图片.png