web-dev-qa-db-fra.com

Séparer la chaîne et obtenir le dernier élément

Disons que j'ai une colonne qui a des valeurs comme:

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

C'est à dire. un nombre variable de chaînes séparées par /.

Dans une autre colonne, je veux obtenir le dernier élément de chacune de ces chaînes, après qu'elles ont été divisées sur /. Donc, cette colonne aurait:

bar
flavor
bax

Je ne peux pas comprendre ça. Je peux partager sur / et obtenir un tableau, et je peux voir la fonction INDEX pour obtenir un élément indexé numéroté spécifique du tableau, mais je ne trouve pas un moyen de dire "le dernier élément" dans cette fonction.

24
Max Williams

Edit: celui-ci est plus simple:

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


Vous pouvez utiliser cette formule:

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

Et également possible de l'utiliser comme ArrayFormula:

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

Voici quelques informations supplémentaires:


Cette formule fera de même:

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

Mais il faut trois fois A1, ce qui n'est pas préférable.

41
Max Makhrov

Également possible, peut-être mieux sur une copie, avec Find:

.+/ 

(Replace with vide) et Search using regular expressions coché.

2
pnuts