拆分字符串并获取最后一个元素
Split string and get last element
假设我有一列的值如下:
foo/bar
chunky/bacon/flavor
/baz/quz/qux/bax
即由 /
.
分隔的可变数量的字符串
在另一列中,我想从每个字符串中获取最后一个元素,在 /
上拆分它们之后。因此,该列将具有:
bar
flavor
bax
我想不通。我可以拆分 /
并获取一个数组,我可以看到函数 INDEX 从数组中获取特定编号的索引元素,但找不到在该函数中表示 "the last element" 的方法。
编辑:
这个更简单:
=REGEXEXTRACT(A1,"[^/]+$")
你可以使用这个公式:
=REGEXEXTRACT(A1,"(?:.*/)(.*)$")
也可以将其用作 ArrayFormula:
=ARRAYFORMULA(REGEXEXTRACT(A1:A3,"(?:.*/)(.*)$"))
这里有更多信息:
此公式将执行相同的操作:
=INDEX(SPLIT(A1,"/"),LEN(A1)-len(SUBSTITUTE(A1,"/","")))
但是A1需要3次,不可取
也可以,也许最好在副本上,使用查找:
.+/
(Replace with
空白)和 Search using regular expressions
勾选。
你可以试试这个!
你已经得到了字符串数组,所以你可以按长度访问最后一个元素
String message = "chunky/bacon/flavor";
String[] outSplited = message.split("/");
System.out.println(outSplited[outSplited.length -1]);
你也可以这样做
=index(SPLIT(A1, "/"), COLUMNS(SPLIT(A1, "/"))-1)
假设我有一列的值如下:
foo/bar
chunky/bacon/flavor
/baz/quz/qux/bax
即由 /
.
在另一列中,我想从每个字符串中获取最后一个元素,在 /
上拆分它们之后。因此,该列将具有:
bar
flavor
bax
我想不通。我可以拆分 /
并获取一个数组,我可以看到函数 INDEX 从数组中获取特定编号的索引元素,但找不到在该函数中表示 "the last element" 的方法。
编辑: 这个更简单:
=REGEXEXTRACT(A1,"[^/]+$")
你可以使用这个公式:
=REGEXEXTRACT(A1,"(?:.*/)(.*)$")
也可以将其用作 ArrayFormula:
=ARRAYFORMULA(REGEXEXTRACT(A1:A3,"(?:.*/)(.*)$"))
这里有更多信息:
此公式将执行相同的操作:
=INDEX(SPLIT(A1,"/"),LEN(A1)-len(SUBSTITUTE(A1,"/","")))
但是A1需要3次,不可取
也可以,也许最好在副本上,使用查找:
.+/
(Replace with
空白)和 Search using regular expressions
勾选。
你可以试试这个!
你已经得到了字符串数组,所以你可以按长度访问最后一个元素
String message = "chunky/bacon/flavor";
String[] outSplited = message.split("/");
System.out.println(outSplited[outSplited.length -1]);
你也可以这样做
=index(SPLIT(A1, "/"), COLUMNS(SPLIT(A1, "/"))-1)