JavascriptでURLの最後のディレクトリを抽出する方法ほ教えてください
例
"http://example.com/hoge/fuga/" // fuga
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
個人的には、正規表現を使用することはあまりお勧めしませんが、以下のように行うのはいかがでしょうか。
正規表現で行う場合
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>タイトル</title> 6 <style type="text/css"> 7 * { 8 margin: 0; 9 padding: 0; 10 } 11 </style> 12</head> 13<body> 14<script> 15 let str = "http://example.com/hoge/__fuga__/"; 16 let result = str.match(/([^\/.]+)/g); 17 alert(result[result.length - 1]); 18</script> 19</body> 20</html>
正規表現を使用しない場合
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>タイトル</title> 6 <style type="text/css"> 7 * { 8 margin: 0; 9 padding: 0; 10 } 11 </style> 12</head> 13<body> 14<script> 15 let str = "http://example.com/hoge/__fuga__/"; 16 let result = str.split("/").filter(e => Boolean(e)); 17 alert(result[result.length - 1]); 18</script> 19</body> 20</html>
投稿2017/03/19 02:59
編集2017/03/19 03:13総合スコア14731
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
例えば必ず'/'が2つ存在していると仮定すると
「/
に続き/
以外の文字が1個以上並んだ後/
が出現し、そこから末尾まで/
が存在しない」
という考え方でよいと思います。'/'が一つしかないパターンは上のパターンにさらに工夫をすることになりましょうか。
directory/file
のようなパターンなら簡単ですがprotcol:/file
のようなパターンを想定するかしないか、想定した際に/
を結果としたいかどうかなど想定条件により正規表現は簡単にも複雑にもなると思います。
投稿2017/03/19 03:06
総合スコア18404
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。