0

重複の可能性:
特定の文字の後のすべてを削除します

私が持っている場合はどうなりますか

var shot = www.site.com/ask

「/」以降のすべての文字(「/」を含む)を削除したかったのです。結果が

www.site.com

注:ショットは動的に値を変更しており、これはすべてjavascriptで行われます。

4

7 に答える 7

2
'www.site.com/ask'.split('/', 1)[0]; // => www.site.com
于 2012-07-26T11:35:54.780 に答える
1

の前にすべてが必要であると仮定すると/、文字のインデックスを見つけて、その前の部分文字列を返すことができます。

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/askwww.site.com上記のコードが返すので、追加のロジックを含める必要がありますhttp:

于 2012-07-26T11:35:35.473 に答える
1
var shot = 'www.site.com/ask';
var site = shot.replace(/\/.*$/,'');

sitewww.site.comが含まれるようになります

于 2012-07-26T11:35:46.340 に答える
1

これを試して:

/^(.*?)\//.exec(shot)[1]

また:

shot.match(/^[^\/]*/)[0]
于 2012-07-26T11:36:27.837 に答える
1

最も単純な非正規表現の方法は

shot = shot.substr(0, shot.indexOf('/'));

http://しかし、これは、または類似のものがあることを説明していません。そのためには、正規表現が必要です。

shot = shot.replace(/([^\/])\/([^\/].*)?$/, '$1');
于 2012-07-26T11:42:29.430 に答える
1

ブラウザに解析を任せることができます:

var a = document.createElement("a");
a.href = "http://" + "www.site.com/ask";
alert(a.hostname);
//"www.site.com"
于 2012-07-26T11:39:50.380 に答える
0

これは、最初のスラッシュの後のすべてを削除する正規表現です

var shot = 'www.site.com/ask';
shot.replace(/\/.+/, '');
于 2012-07-26T11:35:16.730 に答える