获取字符串的第一个字

Sas*_*Kun 48 javascript split

这里的Okey是我的代码,其中包含我尝试做的详细信息:

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
}
Run Code Online (Sandbox Code Playgroud)

那么我该怎么做:\我想得到的是firstword [0]会给出"Hello"而firstword [1]会给出"sss"而firstword [2]会给出"mmm"

Com*_*eek 52

再次按空格分割:

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

或者使用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);
}
Run Code Online (Sandbox Code Playgroud)

  • `'hello'.split('')[0] ==='你好'.`'hello'.substr(...)===''` (6认同)
  • 是的,看起来像`String.prototype.substr()`稍快一点:http://jsperf.com/get-first-word-of-string (3认同)

Bim*_*Grg 43

使用正则表达式

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

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

$('body').append(firstWord);
Run Code Online (Sandbox Code Playgroud)

  • The simplest answer. +1 (4认同)
  • 没想到!它基本上用空字符串替换它在第一个空格后找到的所有内容.由于其简单性,我更喜欢这种解决方案. (3认同)

Pau*_*elo 39

获取字符串的第一个单词,您可以这样做:

let myStr = "Hello World"
let firstWord = myStr.split(" ")[0]
console.log(firstWord)
Run Code Online (Sandbox Code Playgroud)

split(" ")会将您的字符串转换为单词数组(使用空格作为分隔符分割字符串而产生的子字符串),然后您可以获得使用 [0] 访问第一个数组元素的第一个单词。

请参阅有关split 方法的更多信息。


Ell*_*one 10

我正在使用这个:

function getFirstWord(str) {
        let spacePosition = str.indexOf(' ');
        if (spacePosition === -1)
            return str;
        else
            return str.substr(0, spacePosition);
    };
Run Code Online (Sandbox Code Playgroud)

  • 您调用indexOf两次。为了获得更好的性能,请对其进行缓存。 (2认同)

luk*_*rat 5

如何使用underscorejs

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