Разделить строку и получить последний элемент

Скажем, у меня есть столбец, который имеет такие значения, как:

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

т.е. переменное количество строк, разделенных /.

В другом столбце я хочу получить последний элемент из каждой из этих строк после того, как они были разделены на /. Итак, этот столбец будет иметь:

bar
flavor
bax

Я не могу понять это. Я могу разделить на / и получить массив, и я вижу функцию ИНДЕКС для получения определенного пронумерованного индексированного элемента из массива, но не могу найти способ сказать "последний элемент" в этой функции.


person Max Williams    schedule 23.05.2016    source источник


Ответы (4)


Редактировать: это проще:

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


Вы можете использовать эту формулу:

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

А также возможно использовать его как ArrayFormula:

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

Вот еще информация:


Эта формула будет делать то же самое:

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

Но он требует A1 три раза, что нежелательно.

person Max Makhrov    schedule 23.05.2016

Также возможно, возможно, лучше всего на копии, с помощью Find:

.+/ 

(Replace with пусто) и Search using regular expressions отмечено галочкой.

person pnuts    schedule 21.08.2018

Вы могли бы сделать это тоже

=index(SPLIT(A1, "/"), COLUMNS(SPLIT(A1, "/"))-1)
person Cedric    schedule 22.06.2021
comment
Каковы преимущества или недостатки этого подхода по сравнению с вариантами, изложенными в принятом ответе? - person Jeremy Caney; 23.06.2021

Вы можете попробовать использовать это!

У вас есть массив String, поэтому вы можете получить доступ к последнему элементу по длине

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

System.out.println(outSplited[outSplited.length -1]);
person Armando Rafael Costa    schedule 20.09.2019
comment
Предполагаю, что отрицательные голоса связаны с тем, что это на Java, и вопрос касается использования листов Google. - person Connor; 01.10.2019