2013-04-25 18 views
9

から2番目と3番目の単語を取得:私はjQueryの中の文字列を持っている文字列

var string1 = 'Stack Exchange premium'; 
var string2 = 'Similar Questions'; // only two 
var string3 = 'Questions that may already have your answer'; 

私はこの第二と第三の言葉からどのように得ることができますか?スペースで文字列を分割する

var second1 = ???; 
var third1 = ???; 
var second2 = ???; 
var third2 = ???; 
var second3 = ???; 
var third3 = ???; 
+3

質問にコードを追加する必要があります。あなたは何を試しましたか、なぜそれは機能しませんでしたか? – andrewsi

+2

JavaScriptの問題がある人は、jQueryに問題がない場合でも、jQueryの問題だと言います。 – xfix

答えて

7

まず、文字列と変数 "jQuery"がありません。 jQueryはこれとは関係ありません。

var strings = [ 
    'Stack Exchange premium', 
    'Similar Questions', 
    'Questions that may already have your answer' 
]; 

そして、第二と第三の言葉を使用して新しい配列を作成します。

第二には、このように、あなたのデータ構造を変更します。

var result = strings.map(function(s) { 
    return s.split(/\s+/).slice(1,3); 
}); 

今、あなたは、このように各単語にアクセスすることができます。

console.log(result[1][0]); 

これはあなたの2番目の結果の最初の単語を与えるだろう。

14

使用文字列split()

var words = string1.split(' '); 

次に使用してワードにアクセス:

var word0 = words[0]; 
var word1 = words[1]; 
// ... 
+0

OPが 'word0'、' word1'、 'wordXXX'などの変数を使用することを奨励すべきではありません。 –

+2

@LeeTaylorこれは単なる例です – hek2mgl

2
var temp = string1.split(" ")//now you have 3 words in temp 
temp[1]//is your second word 
temp[2]// is your third word 

あなたは一時によって、あなたが持っているどのように多くの単語をチェックすることができます.length

3

文字列に複数のスペースが含まれている場合は、split()を使用する方法では解決できません。

var arr = " word1 word2 ".split(' ') 

//arr is ["", "", "", "word1", "", "", "word2", "", "", "", ""] 

この問題を回避するために、

var arr = " word1 word2 ".match(/\S+/gi) 

//arr is ["word1", "word2"] 

して、いつもの次使用、

var word1 = arr[0]; 
var word2 = arr[1] 
//etc 

undefinedを避けるために.lengthプロパティを使用して、配列の長さをチェックすることを忘れないでくださいあなたの変数で。

関連する問題