重複の可能性:
特定の文字の後のすべてを削除します
私が持っている場合はどうなりますか
var shot = www.site.com/ask
「/」以降のすべての文字(「/」を含む)を削除したかったのです。結果が
www.site.com
注:ショットは動的に値を変更しており、これはすべてjavascriptで行われます。
重複の可能性:
特定の文字の後のすべてを削除します
私が持っている場合はどうなりますか
var shot = www.site.com/ask
「/」以降のすべての文字(「/」を含む)を削除したかったのです。結果が
www.site.com
注:ショットは動的に値を変更しており、これはすべてjavascriptで行われます。
'www.site.com/ask'.split('/', 1)[0]; // => www.site.com
の前にすべてが必要であると仮定すると/
、文字のインデックスを見つけて、その前の部分文字列を返すことができます。
var shot = "www.site.com/ask";
var index = shot.indexOf("/");
var result;
if (index < 0) {
result = shot;
} else {
result = shot.substr(0, index);
}
// result = "www.site.com"
たとえば、プロトコルを含む文字列からドメインを取得する場合はhttp://www.site.com/ask
、www.site.com
上記のコードが返すので、追加のロジックを含める必要がありますhttp:
。
var shot = 'www.site.com/ask';
var site = shot.replace(/\/.*$/,'');
site
www.site.comが含まれるようになります
これを試して:
/^(.*?)\//.exec(shot)[1]
また:
shot.match(/^[^\/]*/)[0]
最も単純な非正規表現の方法は
shot = shot.substr(0, shot.indexOf('/'));
http://
しかし、これは、または類似のものがあることを説明していません。そのためには、正規表現が必要です。
shot = shot.replace(/([^\/])\/([^\/].*)?$/, '$1');
ブラウザに解析を任せることができます:
var a = document.createElement("a");
a.href = "http://" + "www.site.com/ask";
alert(a.hostname);
//"www.site.com"
これは、最初のスラッシュの後のすべてを削除する正規表現です
var shot = 'www.site.com/ask';
shot.replace(/\/.+/, '');