谦和的电影票 · typescript字符串数组排序 - ...· 1 月前 · |
犯傻的绿茶 · clickhouse ...· 1 月前 · |
活泼的冲锋衣 · ClickHouse ...· 1 月前 · |
淡定的白开水 · clickhouse中字符串与数字相关联 ...· 1 月前 · |
豪爽的水煮鱼 · 给我13个随机颜色的16进制字符 - CSDN文库· 1 月前 · |
强健的南瓜 · 如何在Python中遍历JSON对象并获取K ...· 5 月前 · |
独立的肉夹馍 · 迭代相关:__iter__函数和__next ...· 1 年前 · |
跑龙套的葫芦 · Python循环语句代码详解:while、f ...· 1 年前 · |
爱听歌的匕首 · spring - ...· 1 年前 · |
踢足球的南瓜 · 详解 QML UI布局管理-qml ui框架· 1 年前 · |
是否有一种有效的方法来使用基函数来识别字符串中的最后一个字符/字符串匹配?即,不是字符串的最后一个字符/字符串
,而是字符/字符串的最后一个出现位置( in a string )。
Search
和
find
都是从左到右工作的,所以如果没有冗长的递归算法,我不知道该如何应用。而
this solution
现在似乎已经过时了。
发布于 2013-09-04 23:19:39
我想我明白你的意思了。例如,假设您想要以下字符串中最右边的\(存储在单元格A1中):
Drive:\Folder\SubFolder\Filename.ext
要获得最后一个\的位置,可以使用以下公式:
=FIND("@",SUBSTITUTE(A1,"\","@",(LEN(A1)-LEN(SUBSTITUTE(A1,"\","")))/LEN("\")))
这告诉我们最右边的\在字符24处。它通过查找"@“并将最后一个"\”替换为"@“来做到这一点。它使用下面的方法确定最后一个
(len(string)-len(substitute(string, substring, "")))\len(substring)
在此场景中,子字符串仅为"\“,长度为1,因此您可以省略末尾的分隔符,只需使用:
=FIND("@",SUBSTITUTE(A1,"\","@",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))
现在我们可以使用它来获取文件夹路径:
=LEFT(A1,FIND("@",SUBSTITUTE(A1,"\","@",LEN(A1)-LEN(SUBSTITUTE(A1,"\","")))))
下面是不带尾部的文件夹路径\
=LEFT(A1,FIND("@",SUBSTITUTE(A1,"\","@",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))-1)
只获取文件名:
=MID(A1,FIND("@",SUBSTITUTE(A1,"\","@",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))
但是,这里是获取特定角色的最后一个实例右侧的所有内容的另一个版本。因此,使用我们的相同示例,这也将返回文件名:
=TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",LEN(A1))),LEN(A1)))
发布于 2016-06-02 03:13:59
创建一个自定义函数并在您的公式中使用它如何?VBA有一个内置的函数
InStrRev
,它可以做你想要的事情。
将其放入一个新模块中:
Function RSearch(str As String, find As String)
RSearch = InStrRev(str, find)
End Function
您的函数将如下所示(假设原始字符串为B1格式):
=LEFT(B1,RSearch(B1,"\"))
发布于 2016-09-30 05:10:28
tigeravatar和Jean-François Corbett建议使用此公式来生成"\“字符最后一次出现的字符串右侧
=TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",LEN(A1))),LEN(A1)))
如果用作分隔符的字符是空格“",则必须将公式更改为:
=SUBSTITUTE(RIGHT(SUBSTITUTE(A1," ",REPT("{",LEN(A1))),LEN(A1)),"{","")
无需提及,"{“字符可以替换为任何不会”正常“出现在要处理的文本中的字符。
https://stackoverflow.com/questions/18617349
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
谦和的电影票 · typescript字符串数组排序 - CSDN文库 1 月前 |
豪爽的水煮鱼 · 给我13个随机颜色的16进制字符 - CSDN文库 1 月前 |
爱听歌的匕首 · spring - java.lang.ClassCastException: org.springframework.orm.jpa.EntityManagerHolder cannot be cast to org.springframework.orm.h 1 年前 |
踢足球的南瓜 · 详解 QML UI布局管理-qml ui框架 1 年前 |