字符串提取,是表亲们经常遇到的问题,今天就和大家一起学习字符串提取的方法。

如下图所示,要从A列的路径中提取出文件名称。

提取的结果如下图所示:

观察这些数据,咱们可以发现:

A列字符串中都是以“\”字符进行分隔的,实际上咱们就是提取最后一个反斜杠“\”后的内容。

有多种方法可以处理这个问题:

B2单元格输入以下公式:

=IFERROR(RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2,"\","*",LEN(A2)-LEN(SUBSTITUTE(A2,"\",""))))),"")

  1. LEN(A2)-LEN(SUBSTITUTE(A2,"\","")这部分是计算字符串中一共有几个“\”。

  2. 首先用SUBSTITUTE 函数以一个新字符“*”,替换掉最后一个“\”。

  3. 然后再利用FIND函数找到“*”在文本串中的位置。

  4. 接下来用LEN(A2)计算出字符串的总长度,再减去星号“*”在文本串中的位置,余下的就是咱们需要提取的字符个数。

  5. 最后用RIGHT函数从A2单元格的右侧开始,提取(字符长度-星号位置)的字符,就是咱们需要的结果了。

B2单元格输入以下公式:

=TRIM(RIGHT(SUBSTITUTE(A2,"\",REPT(" ",99)),99))

  1. REPT(" ",99)的作用是生成99个空格。

  2. 再用SUBSTITUTE函数,将间隔符号“\”全部替换为99个空格。

  3. 接下来使用RIGHT函数,从替换后的字符串右侧开始,提取99个字符,这样就得到最后一个“\”之后的字符串和不确定数量的空格。

  4. 最后使用TRIM函数,将多余的空格替换掉。

复制A列数据,粘贴到B列。

选中B列,按Ctrl+H调出替换对话框。

在查找内容编辑框中输入: *\

星号* 是通配符,表示任意多个字符。*\ 就是表示字符“\”和他之前的所有内容。

只要点击【全部替换】,就可以快速提取出需要的结果了。

三种方法,各有千秋,公式法的特点是数据源发生变化后,结果能自动更新,但是对于初学者来说,一层层的嵌套,会有点眼晕。

第三种方法的特点是便捷快速,缺点是数据源发生变化后,结果不能自动更新。

说说看,你更喜欢哪种呢?

图文制作:耿勇

专业的职场技能充电站

sql server 替换有反斜杠的字符串_字符串提取,到底谁是你的菜?相关推荐

  1. sql server 替换有反斜杠的字符串_SQL注入思维导图

    新朋友点上方蓝字"网络空间安全社"即可关注本文为以大三老狗的思路现阶段整理的超大型思维导图中的"sql注入"分支介绍. 2020/1/2 22:00 前言 本文 ...

  2. java替换一个反斜杠_java反斜杠替换

    java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠 例如 str1="aa\bbb"; str2="aa'bbb"; 要想替换成 str ...

  3. python把正斜杠替换成反斜杠_【转】python中的正斜杠、反斜杠

    (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" path1 = r" ...

  4. php 去掉转义引号的反斜杠,PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠...

    PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠 通过AJAX传到PHP的json字符串有时候加上反斜杠"\"来转义,PHP处理时需要先去掉反斜杠,然后再json_dec ...

  5. 斜杆/ 反斜杠\ 下划线_ 连词符- 破折号(横线)—— 等标点符号用英语怎么说?

    / slash (forward slash) 斜杠 \ back slash 反斜杠 _ underscore 下划线 - hyphen 连词符 -- dash 横线(比上面的连词符要长,相当于中文 ...

  6. java json去掉反斜杠,如何去掉Json字符串中反斜杠

    做項目的時候,遇到了這樣的問題,前台傳來的Json字符串在實體類中不對應(無法轉換為實體類),而且傳來的數據項是跟着數據庫中的表的變動而變動的(不能重寫實體類). 前台Json字符串為: string ...

  7. mysql 反斜杠 转义_MySQL中执行sql语句反斜杠需要进行转义

    最近在执行一个sql备份的还原后,发现系统的部分路径找不到,于是开始debug,最后发现,是由于备份的sql语句在还原时,反斜杠(\)被mysql吃掉了.本文对反斜杠和顺斜杠进行了测试,并给出了解决方 ...

  8. 【转】Java中斜杠和反斜杠的替换

    Java: 在不同的系统中,路径的分隔符不同,故需要做出判断,并切换分隔符; String类中replaceAll方法如下: String.replaceAll(String regex,String ...

  9. java 替换斜杆与反斜杠

    1.java 把字符串中的反斜杠(\)替换成斜杠(/)replaceAll( "\\\\ ", "/");2.java 把字符串中的斜杠(/)替换成反斜杠(\) ...

最新文章

  1. Tesla AutoPilot纯视觉方案解析
  2. java数据库视图工具_数据库视图工具类
  3. access超过255列数据_Access的数据类型,与Excel虽类似,数据库+sql更适合大量数据管理...
  4. PHP中路径怎么用?
  5. python提取英文单词 每行显示一个_使用python对文件中的单词进行提取
  6. 发送有序广播,只能运行在8.0之前的系统中
  7. python从入门到精通 明日科技 电子书-【明日科技+python】百度云下载 - 云盘精灵...
  8. 设置返回IOS开发(26)之UITableView的页眉和页脚
  9. Android 四大组件学习之Activity三
  10. linux类似everything的软件,安装linux下强大的文件工具fsearch,与windows下Everything类似...
  11. Linux C语言UDP实现视频文件上传
  12. 普渡大学统计与计算机科学,普渡大学西拉法叶分校统计学
  13. dad my_My dad英语绘本.ppt
  14. 钉钉如何群里定时发送文件_使用钉钉APP实现多人在线协同编辑文档
  15. 阿拉伯数字小写金额转换成中文大写金C额程序说明
  16. 哪有计算机课程,计算机基础课程的目标有以下哪几个( ? ?)
  17. 如何树立正确的人生观、价值观、世界观?
  18. css让文字在一行内显示
  19. 每日一笑20200529
  20. 删除除了id号不同,其他都相同的学生冗余信息

热门文章

  1. 20年研发管理经验谈(七)
  2. 程序员修神之路--分布式高并发下Actor模型如此优秀
  3. 操作系统笔记(三)进程管理之管理
  4. SQL 中With as 的用法
  5. 源码-0105-Autoresizing
  6. 将程序添加防火墙白名单
  7. java开发之路——个人开发模板之技巧
  8. Android 壁纸设置代码 详解
  9. Daily Scrum M2 11-5
  10. [转] Understanding and Solving Internet Explorer Leak Patterns