web-dev-qa-db-ja.com

文字列を分割して最後の要素を取得

次のような値を持つ列があるとします。

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

つまり/で区切られた可変数の文字列。

別の列では、/で分割された後、これらの各文字列から最後の要素を取得します。したがって、その列には次のものがあります。

bar
flavor
bax

これを理解することはできません。 /で分割して配列を取得でき、配列から特定の番号付きインデックス付き要素を取得する関数INDEXを確認できますが、この関数で「最後の要素」と言う方法が見つかりません。

16
Max Williams

編集:これは簡単です:

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


次の式を使用できます。

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

また、ArrayFormulaとして使用することもできます。

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

詳細は次のとおりです。


この式は同じことをします:

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

ただし、A1は3回かかりますが、これは好ましくありません。

31
Max Makhrov

また、可能であれば、おそらくコピーで、検索を使用して:

.+/ 

Replace with空白)およびSearch using regular expressionsチェック。

2
pnuts