我想从 LibreOffice Calc 中多次出现的字符中获取最后一次出现。
例如,我有一个字符串abc1ba2ac2adeaa43add
。现在,如果我正在搜索a
它应该返回 18。
我想从 LibreOffice Calc 中多次出现的字符中获取最后一次出现。
例如,我有一个字符串abc1ba2ac2adeaa43add
。现在,如果我正在搜索a
它应该返回 18。
使用正则表达式:
=SEARCH("a[^a]*$"; CELL)
要搜索 a 以外的其他字符,只需将两个 a 替换为您要搜索的字符即可。
这是我最近制作的一个 - 它在不使用正则表达式的情况下回答了这个问题(由于某种原因,我无法使用 libreoffice 4.3.1.2)
=FIND("+|",SUBSTITUTE(A1,"a","+|",(LEN(A1)-LEN(SUBSTITUTE(A1,"a","")))))
基本上,它执行以下操作:
用标记替换特定搜索字符串的最后一个实例
替换(A1,“a”,“+|”,(LEN(A1)-LEN(SUBSTITUTE(A1,“a”,“”)))))
找到标记的索引
查找(“+|”,...)
- 或者返回'a'右边的字符串 -
=MID(A1, FIND("+|",SUBSTITUTE(A1,"a","+|", (LEN(A1)-LEN(SUBSTITUTE(A1,"a","")))))+1, LEN(A1))
在此示例中,“a”是您要查找的字符串的最后一个实例,“+|” 是您正在搜索的字符串中不存在的占位符
对 mid 的调用将返回指定字符串后面的所有内容