2013-09-01 128 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 –