2

これが二重の投稿である場合はご容赦ください。

私はドメイン名exを持っています。google.co.uk(ただし、これは google.com でもかまいません)。これを最初のピリオドで分割する必要があるため、次のような配列オブジェクトを取得します:["google", "co.uk"]または["google", "com"]

別の投稿でこれを見つけました:'google.co.uk'.split(/.(.+)?/)[1];しかし、それはうまくいかないようです...

誰でも私を助けることができますか?前もって感謝します!

4

4 に答える 4

6

最初の を置き換えます。文字列に現れない他の何か (| など) を使用して、その文字を分割します。

str.replace は、デフォルトで見つかった文字の最初のインスタンスのみを置換するため、コードは非常に単純です。

str = "google.co.uk";
str.replace(".", "|").split("|");
于 2013-02-11T12:26:39.893 に答える
0

jsFiddle

var text = 'google.co.uk';

//Returns the position of the first '.'
var index = text.indexOf('.');

//Grab the the start of the string up to the position of the '.'
var first = text.substring(0, index);

//Start from the '.' + 1(to exclude the '.') and go to the end of the string
var second = text.substring(index + 1);

alert(first); //google
alert(second); //co.uk
于 2013-02-11T12:27:36.273 に答える
0

あなたは皆、これを少し複雑にしています。簡単な1行で可能です:

var domain = 'google.co.uk';
alert(domain.split(/^(.+?)\./ig).splice(1));
于 2013-02-11T12:34:36.967 に答える
0

いくつかのネイティブ JavaScript 関数を使用できます...

string='google.com';
dot=string.indexOf('.',0);


name=string.substring(0,dot);
domain=string.substring(dot+1,string.length);

arr= new Array(name, domain);
alert(arr);

笑、すでにより良い解決策を参照してください... :)および同様の解決策も...

于 2013-02-11T12:36:26.163 に答える