Разбейте строку и получите последний элемент
Допустим, у меня есть столбец, который имеет такие значения, как:
foo/bar
chunky/bacon/flavor
/baz/quz/qux/bax
Т.е. переменное количество строк, разделенных /
.
В другом столбце я хочу получить последний элемент из каждой из этих строк после того, как они были разделены на /
. Итак, этот столбец будет иметь:
bar
flavor
bax
Я не могу понять это. Я могу разделить на /
и получить массив, и я вижу функцию INDEX для получения определенного пронумерованного индексированного элемента из массива, но не могу найти способ сказать "последний элемент" в этой функции.
Ответы
Ответ 1
Изменить:
этот проще:
=REGEXEXTRACT(A1,"[^/]+$")
Вы можете использовать эту формулу:
=REGEXEXTRACT(A1,"(?:.*/)(.*)$")
А также возможно использовать его как ArrayFormula:
=ARRAYFORMULA(REGEXEXTRACT(A1:A3,"(?:.*/)(.*)$"))
Вот еще немного информации:
Эта формула будет делать то же самое:
=INDEX(SPLIT(A1,"/"),LEN(A1)-len(SUBSTITUTE(A1,"/","")))
Но это занимает А1 три раза, что не является предпочтительным.
Ответ 2
Также возможно, возможно лучше на копии, с Find:
.+/
(Replace with
пустое) и Search using regular expressions
отмеченных Search using regular expressions
.
Ответ 3
Вы можете попробовать использовать это!
У вас есть массив String, поэтому вы можете получить доступ к последнему элементу по длине
String message = "chunky/bacon/flavor";
String[] outSplited = message.split("/");
System.out.println(outSplited[outSplited.length -1]);