![]() |
重感情的包子 · 用static定义静态全局变量 - ...· 1 月前 · |
![]() |
活泼的酱肘子 · python将中文转换成utf8_mob64 ...· 1 月前 · |
![]() |
玩手机的饭卡 · Scala字符串输入和输出_scala ...· 1 月前 · |
![]() |
还单身的红金鱼 · Scala字符串&字符串模板输出_scala ...· 1 月前 · |
![]() |
成熟的充电器 · Notepad++中查找替换「换行符」 - ...· 10 月前 · |
![]() |
绅士的凉面 · 正则提取字符串中的数字_正则表达式忽略空格p ...· 1 年前 · |
![]() |
谦虚好学的烤红薯 · ElementHost 類別 ...· 1 年前 · |
![]() |
体贴的风衣 · Error: ...· 1 年前 · |
![]() |
心软的香菜 · Laravel ...· 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
![]() |
重感情的包子 · 用static定义静态全局变量 - haiziguo 1 月前 |