javascript 正規表現 replace - 末尾にスラッシュのない文字列を返す





4 Answers

function stripTrailingSlash(str) {
    if(str.substr(-1) === '/') {
        return str.substr(0, str.length - 1);
    }
    return str;
}

注:IE8以前のバージョンは、負のsubstrオフセットをサポートしていません。 これらの古代のブラウザをサポートする必要がある場合は、代わりにstr.length - 1使用してください。

match 複数 文字列検索

私には2つの変数があります:

site1 = "www.somesite.com";  
site2 = "www.somesite.com/";  

私はこのようなことをしたい

function someFunction(site)
{
    // If the var has a trailing slash (like site2), 
    // remove it and return the site without the trailing slash
    return no_trailing_slash_url;
}

これはどうすればいいですか?




ES6 / ES2015では、文字列が何かで終わるかどうかを確認するためのAPIが用意されているため、よりクリーンで読みやすい機能を記述できます。

const stripTrailingSlash = (str) => {
    return str.endsWith('/') ?
        str.slice(0, -1) :
        str;
};



私は質問が後続のスラッシュについて知っていることを知っていますが、スラッシュ(頭と尾のスラッシュの両方)を検索するときにこの投稿を見つけました。この投稿は私の問題を解決するのに役立ちました。文字列の開始と終了:

function stipTrailingSlash(str){
   if(srt.charAt(str.length-1) == "/"){ str = str.substr(0, str.length - 1);}
   return str
}



ここでは小さなURLの例です。

var currentUrl = location.href;

if(currentUrl.substr(-1) == '/') {
    currentUrl = currentUrl.substr(0, currentUrl.length - 1);
}

新しいURLを記録する

console.log(currentUrl);



Related