web-dev-qa-db-ja.com

文字列の最初の単語を取得

さて、ここに私がしようとしたことの詳細を含む私のコードがあります:

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] あげる "Hello"

  • firstword[1] あげる "sss"

  • firstword[2] あげる "mmm"
46
Sasuke Kun

空白で再び分割する:

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);
}
50
ComFreek

正規表現を使用します

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

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

$('body').append(firstWord);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
39
Bimal Grg

私はこれを使用しています:

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

Underscorejsの使用はどうですか

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

以前の回答の改善(複数行またはタブ付き文字列での作業):

String.prototype.firstWord = function(){return this.replace(/\s.*/,'')}

Orsearch および substr を使用:

String.prototype.firstWord = function(){let sp=this.search(/\s/);return sp<0?this:this.substr(0,sp)}

Orwithoutregex:

String.prototype.firstWord = function(){
  let sps=[this.indexOf(' '),this.indexOf('\u000A'),this.indexOf('\u0009')].
   filter((e)=>e!==-1);
  return sps.length? this.substr(0,Math.min(...sps)) : this;
}

例:

String.prototype.firstWord = function(){return this.replace(/\s.*/,'')}
console.log(`linebreak
example 1`.firstWord()); // -> linebreak
console.log('space example 2'.firstWord()); // -> singleline
console.log('tab        example 3'.firstWord()); // -> tab
4
CPHPython
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);
}
3
Diego Plutino

このコードにより、最初のWordが取得されます。

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]);
 }
2
rAjA

これを行う最も簡単な方法の1つは、このようなものです

var totalWords = "my name is rahul.";
var firstWord = totalWords.replace(/ .*/, '');
alert(firstWord);
console.log(firstWord);
0