2013-04-25 7 views
9

Ich habe Strings in jQuery:Erhalten zweiten und dritten Wörter aus string

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

Wie kann ich von diesem zweiten und dritten Worte erhalten?

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

Sie sollten Ihren Code zu der Frage hinzufügen. Was hast du versucht, und warum hat es nicht funktioniert? – andrewsi

+2

Wenn Leute JavaScript-Probleme haben, sagen sie, dass es ein jQuery-Problem ist, auch wenn das Problem gar nicht mit jQuery zu tun hat. – xfix

Antwort

7

Zuerst haben Sie keine Zeichenfolgen und Variablen "in jQuery". jQuery hat damit nichts zu tun.

Zweitens Ihre Datenstruktur ändern, wie folgt aus:

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

Dann ein neues Array mit dem zweiten und dritten Worte erstellen.

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

Jetzt können Sie jedes Wort wie folgt zugreifen:

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

Dies wird Ihnen das erste Wort des zweiten Folge.

14

Verwenden Zeichenfolge split() die Zeichenfolge durch Leerzeichen trennen:

var words = string1.split(' '); 

dann die Worte Zugriff mit: kann

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

Sie sollten das OP nicht ermutigen, Variablen wie "word0", "word1", "wordXXX" usw. zu verwenden. –

+2

@LeeTaylor Es ist nur ein Beispiel – 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 

Sie überprüfen, wie viele Wörter, die Sie durch Temp haben .Länge

3

Um nur zu den möglichen Lösungen hinzuzufügen, schlägt die Technik mit split() fehl, wenn die Zeichenfolge mehrere Leerzeichen enthält. Folgende

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

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

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

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

Um dieses Problem zu, die Verwendung zu vermeiden und dann die übliche,

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

vergessen Sie nicht, auch Ihre Array-Länge mit .length Eigenschaft zu überprüfen, um zu vermeiden undefined bekommen in deinen Variablen.

Verwandte Themen