41

假设我有一列的值如下:

foo/bar
chunky/bacon/flavor
/baz/quz/qux/bax

即由 . 分隔的可变数量的字符串/

在另一列中,我想从每个字符串中获取最后一个元素,在它们被拆分后/。因此,该列将具有:

bar
flavor
bax

我想不通。我可以拆分/并获取一个数组,我可以看到函数 INDEX 从数组中获取特定编号的索引元素,但是在这个函数中找不到说“最后一个元素”的方法。

4

4 回答 4

67

编辑: 这个更简单:

=REGEXEXTRACT(A1,"[^/]+$")

你可以使用这个公式:

=REGEXEXTRACT(A1,"(?:.*/)(.*)$")

也可以将其用作 ArrayFormula:

=ARRAYFORMULA(REGEXEXTRACT(A1:A3,"(?:.*/)(.*)$"))

这里有更多信息:


这个公式将做同样的事情:

=INDEX(SPLIT(A1,"/"),LEN(A1)-len(SUBSTITUTE(A1,"/","")))

但是需要A1 3次,这是不可取的。

于 2016-05-23T11:51:46.567 回答
2

也有可能,也许最好在副本上使用 Find:

.+/ 

Replace with空白)并Search using regular expressions打勾。

于 2018-08-21T08:47:45.463 回答
0

你也可以这样做

=index(SPLIT(A1, "/"), COLUMNS(SPLIT(A1, "/"))-1)
于 2021-06-22T15:21:47.473 回答
-4

你可以试试用这个!

你有字符串数组,所以你可以按长度访问最后一个元素

String message =  "chunky/bacon/flavor";
String[] outSplited = message.split("/");

System.out.println(outSplited[outSplited.length -1]);
于 2019-09-20T13:06:49.187 回答