-
饭都被正则抢了:“\”数量不等,以最后一个“\”分隔符分列
- 网站名称:饭都被正则抢了:“\”数量不等,以最后一个“\”分隔符分列
- 网站分类:技术文章
- 收录时间:2025-06-12 10:33
- 网站地址:
“饭都被正则抢了:“\”数量不等,以最后一个“\”分隔符分列” 网站介绍
粉丝求助SOS:如何以最后一个“\”作为分列依据,进行拆分列。
如下图所示:
A列数据的特点是:每个单元格中的数字用分隔符“\”分成了若干部分。因为每个单元格分隔符“\”的数量不等,导致分段的数量也不一致。我们想要用每个单元格中的最后一个“\”,作为分列依据,进行拆分列,最终的效果就是B列与C列的结果。
在没有出现REGEXP正则表达式函数之前,我们要用一系列的函数组合成嵌套公式,进行解决。当有了REGEXP之后,可能只用几个正则符号,就可以像编程一样,瞬间解决问题。下面我们就分两种方法:公式嵌套法与正则表达式法,看看好饭都是怎么被正则抢走的。
公式嵌套法
我们由内层向外层逐步解析公式,确定分列1。
首先输入SUBSTITUTE函数:
=SUBSTITUTE(A2,"\","")
用SUBSTITUTE替换函数,将A2单元格中的所有"\",替换为空值,也就是说将A2单元格中的所有"\"删除了,留下了其他的字符。
向外嵌套一层LEN函数:
=LEN(SUBSTITUTE(A2,"\",""))
用LEN长度统计函数,将上一步SUBSTITUTE返回结果的字符的长度统计出来。
即去掉“\”后的字符长度。
继续完善公式为:
=LEN(A2)-LEN(SUBSTITUTE(A2,"\",""))
LEN(A2)可计算A2单元格字符总长度。
用A2单元格字符总长度减去[A2单元格去掉“\”后的总长度]=“\”的长度。
即得到每个单元格中“\”的总个数。
继续向外嵌套TEXTBEFORE函数:
=TEXTBEFORE(A2,"\",LEN(A2)-LEN(SUBSTITUTE(A2,"\","")))
TEXTBEFORE函数可以提取指定的字符之前的所有内容,并且还可以设置这个字符位于第几个位置。
我们以A2单元格数据为例:
用TEXTBEFORE函数提取第2个“\”(即上一步的返回结果)之前的所有内容,返回“1\6”。
继续完善上述公式:
=TEXTBEFORE(A2,"\",LEN(A2)-LEN(SUBSTITUTE(A2,"\","")))&"\"
按要求需要在上一步的返回结果的基础上对“1\6”加上一个“\”,变成“1\6\”
确定分列2
用TEXTAFTER函数:
=TEXTAFTER(A2,"\",LEN(A2)-LEN(SUBSTITUTE(A2,"\","")))
TEXTAFTER函数可以提取指定的字符之后的所有内容,并且还可以设置这个字符位于第几个位置。
我们以A2单元格数据为例:
用TEXTBEFORE函数提取第2个“\”之后的所有内容,返回“5”。
有了REGEXP正则表达式函数之后,只需要设置几个简单的正则符号,就解决啦!
正则表达式法
首先输入公式:
=REGEXP(A2,".*\\")
.:表示任意的单个字符
.*:表示连续的任意字符
\\:表示用转义符“\”将"\"转化为真正的普通符号。
.*\\:整体可以表示任意的“数字\”这种格式模式。
REGEXP默认贪婪模式,就可以将A2单元格内的“1\6\”提取出来。
继续完善正则表达式:
=REGEXP(A2,".*\\|\d+$")
|:代表逻辑“或”的意思。
\d+$:代表以任意连续的数字结尾
这样就可以将A2单元格中以数字结尾的那个数字也同时提取出来,返回“5”。
更多相关网站
- 安卓16稳定版确认6月发布,快捷设置有变化
- Beta频道23H2最后更新:微软发布Win11 22635.5305预览版
- POST 为什么会发送两次请求?
- 潮流符号碰撞一经典重构
- 变频器字母含义对照(二)
- 文件管理工具清除文件名特殊符号、批量插入新文字的全流程指南
- EXCEL如何利用自定义数字格式显示负数为红色带括号
- 苹果在 iOS 18.4 中为你的 iPhone 带来了这些有趣的新表情符号
- 苹果史上最大规模软件设计更新:iOS 26发布,向第三方开放AI模型
- 微信,4.0大更新,转正!
- 苹果在iOS 18.4中为你的iPhone带来的8个新表情符号
- 润色后版夲(已去除成语、调整语句通顺度并检查标点符号)
- #发优质内容享分成#暖通设计 | 通风与防排烟系统施工图的图形符号
- 5种####符号背后的秘密|Excel老手都未必全知道
- 都2025年了你不会还不知道微信分身功能吧
- 电工符号大全,如何成为一名优秀的电工?
- 一文掌握 Linux 符号链接
- QGIS制图美学必修课:如何让精心设计的样式"永不消失"
- 最近发表
-
- JavaScript,ES6,数值扩展,二进制、八进制和十六进制,方法
- 如何用2 KB代码实现3D赛车游戏?2kPlus Jam大赛了解一下
- 10个JavaScript一行代码,解决90%的开发难题
- 如何使用 Fraction.js 解决 BigInt 的计算盲区?
- js四舍五入(js中四舍五入的代码怎么打)
- 全能硬件大师AIDA64 v4.60 最新绿色版下载
- 实用神帖 隔壁老王买到iPhone 6魔改6s,怎么破?
- DIY装机小白的618配机历程(3千元的146K,DDR5无卡方案)2025
- AIDA64 7.30版本发布:改善深色/高对比度模式
- DIY从入门到放弃:CPU没有SN码是保护你
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 二调符号库 (23)
- acmecadconverter_8.52绿色版 (25)
- 梦幻诛仙表情包 (36)
- 魔兽模型 (23)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- parsevideo (22)
- centos7.4下载 (32)
- cuda10.1下载 (22)
- intouch2014r2sp1永久授权 (33)
- usb2.0-serial驱动下载 (24)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- virtualdrivemaster (26)
- 数据结构c语言版严蔚敏pdf (25)
- 兔兔工程量计算软件下载 (27)
- 代码整洁之道 pdf (26)
- ccproxy破解版 (31)
- aida64模板 (28)