2013-09-01 130 views
21
的第一個字

歐凱這裏是我的代碼的細節是什麼,我試圖做的事:獲取字符串

var str = "Hello m|sss sss|mmm ss" 
//Now i separate them by "|" 
    var str1 = str.split('|'); 

//Now i want to get the first word of every split-ed sting parts: 

     for (var i=0;i<codelines.length;i++) 
     { 
    //What to do here to get the first word of every spilt 
     } 

所以,我應該怎麼辦有:\ 我想要得到的是firstword [0]將給「你好」 和firstword [1]將給予 「SSS」 和firstword [2]將給予 「嗯」 了

回答

29

分割在一個空格:

var firstWords = []; 
for (var i=0;i<codelines.length;i++) 
{ 
    var words = codelines[i].split(" "); 
    firstWords.push(words[0]); 
} 

或者使用String.prototype.substr()(可能更快):

var firstWords = []; 
for (var i=0;i<codelines.length;i++) 
{ 
    var codeLine = codelines[i]; 
    var firstWord = codeLine.substr(0, codeLine.indexOf(" ")); 
  firstWords.push(firstWord); 
} 
+0

不工作:■http://jsbin.com/umeqi4/17 –

+0

@SasukeKun你忘了'firstWords'一個's' *作*循環後:HTTP:// jsbin .com/umeqi4/19/ – ComFreek

+3

是的,看起來像'String.prototype.substr()'稍微快一點:http://jsperf.com/get-first-word-of-string – Benj

2

此代碼應該讓你的第一個字,

var str = "Hello m|sss sss|mmm ss" 
//Now i separate them by "|" 
var str1 = str.split('|'); 

//Now i want to get the first word of every split-ed sting parts: 

for (var i=0;i<str1.length;i++) 
{ 
    //What to do here to get the first word :(
    var words = str1[i].split(" "); 
    console.log(words[0]); 
} 
3
var str = "Hello m|sss sss|mmm ss" 
//Now i separate them by "|" 
var str1 = str.split('|'); 

//Now i want to get the first word of every split-ed sting parts: 

for (var i=0;i<str1.length;i++) 
{ 
    //What to do here to get the first word :) 
    var firstWord = str1[i].split(' ')[0]; 
    alert(firstWord); 
} 
10

我使用這個:開始

function getFirstWord(str) { 
     let spacePosition = str.indexOf(' '); 
     if (spacePosition === -1) 
      return str; 
     else 
      return str.substr(0, spacePosition); 
    }; 
+1

您可以調用indexOf兩次。爲了更好的性能緩存它。 – dimon4eg

4

如何使用underscorejs

str = "There are so many places on earth that I want to go, i just dont have time. :(" 
firstWord = _.first(str.split(" ")) 
12

使用正則表達式

var totalWords = "foo love bar very much."; 

var firstWord = totalWords.replace(/ .*/,''); 

console.log(firstWord); 
+0

最簡單的答案。 +1 –