假设我有一个列,其中包含以下值:
foo/bar
chunky/bacon/flavor
/baz/quz/qux/bax
即一个由/
分隔的可变字符串数量。
在另一列中,我想获取每个字符串在/
上拆分后的最后一个元素。因此,该列将包含:
bar
flavor
bax
我无法理解这个问题。我可以按/
分割并得到一个数组,我也知道可以使用函数INDEX从数组中获取特定编号的元素,但找不到一种方法来表示“最后一个元素”。
假设我有一个列,其中包含以下值:
foo/bar
chunky/bacon/flavor
/baz/quz/qux/bax
即一个由/
分隔的可变字符串数量。
在另一列中,我想获取每个字符串在/
上拆分后的最后一个元素。因此,该列将包含:
bar
flavor
bax
我无法理解这个问题。我可以按/
分割并得到一个数组,我也知道可以使用函数INDEX从数组中获取特定编号的元素,但找不到一种方法来表示“最后一个元素”。
编辑:这个更简单:
=REGEXEXTRACT(A1,"[^/]+$")
你可以使用这个公式:
=REGEXEXTRACT(A1,"(?:.*/)(.*)$")
还可以将其用作ArrayFormula:
=ARRAYFORMULA(REGEXEXTRACT(A1:A3,"(?:.*/)(.*)$"))
以下是更多信息:
这个公式将做同样的事情:
=INDEX(SPLIT(A1,"/"),LEN(A1)-len(SUBSTITUTE(A1,"/","")))
但需要进行三次A1,这并不理想。
您也可以这样做。
=index(SPLIT(A1, "/"), COLUMNS(SPLIT(A1, "/"))-1)
还有一种可能,也许在副本上使用“查找”功能最佳:
.+/
(替换为
空格) 并勾选 使用正则表达式搜索
。
你可以尝试使用这个!
你已经有了字符串数组,所以可以通过长度访问最后一个元素。
String message = "chunky/bacon/flavor";
String[] outSplited = message.split("/");
System.out.println(outSplited[outSplited.length -1]);