查找字符串中特定字符最后出现的位置

Posted sinceret

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找字符串中特定字符最后出现的位置相关的知识,希望对你有一定的参考价值。

类似C#的str.LastIndexOf()

单元格A1中有

12345#78#abc#ef

最后一个#号在字符串中的位置:

1.先统计A1中有几个#

把#替换为空,再用原串长度减去新串长度,即为#数量

如果要查找的是多个字符的字符串,需要除以串长

  =LEN(A1)-LEN(SUBSTITUTE(A1,"#",""))

2.把原字串中最后一个#用一个比较特殊的符号,比如@替换掉。

@需要是A1中从来没有出现过的

  =SUBSTITUTE(A1,"#","@",LEN(A1)-LEN(SUBSTITUTE(A1,"#","")))

  SUBSTITUTE第三个参数是将A1中的第几个#替换成@,

  最后一个#,就是一共有几个#这个数

此时A1中内容为:

  12345#78#abc@ef

3.再查找@的位置即可,值为13。

  =FIND("@",SUBSTITUTE(A1,"#","@",LEN(A1)-LEN(SUBSTITUTE(A1,"#",""))))

 

技术图片

 

以上是关于查找字符串中特定字符最后出现的位置的主要内容,如果未能解决你的问题,请参考以下文章

java 如何在字符串查找最后字符的位置

lastIndexOf(searchvalue,formindex),查找某个字符串最后出现的位置

Java语言中,怎么样查找一个特定的字符串,并返回它的索引位置

c语言中如何在一个字符串中查找/出现的位置?需要第一次出现和第二次出现中间的内容和第二次出现和第三

Java 实例 - 查找字符串最后一次出现的位置

查找并打印出字符串中特定字符的出现次数 (shell/AIX)