0

このコードは、path/to/folderまたはpath/to/folder/(末尾のスラッシュに注意してください) を受け入れ、文字列の最後のフォルダーの名前を抽出します。

path = 'path/to/folder'.split('/');
folder = path.pop() || path.pop(); // taking care of trailing slash

// folder == 'folder'

興味がありますが、これをワンライナーにすることは可能ですか? 正規表現と非正規表現の両方の回答をいただければ幸いです:)

補足として、私のコードは複数の末尾のスラッシュ (タイプミスなど) を処理する方法を認識していないことに気付きました。そのため、それも考慮していただければ幸いです。

編集:正規表現以外の回答を期待しています

4

2 に答える 2

1

最新のブラウザーでは、次のようなことができます。

folder = (path + '/').split(/\/+|\\+/).slice(0, path.split(/\/+|\\+/).indexOf(''));

コードはバックスラッシュも処理し、スラッシュと混在していても処理します。シンプルなFiddle

于 2013-06-05T09:01:05.750 に答える