77

さて、これが私がやろうとしたことの詳細を含む私のコードです:

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"
4

12 に答える 12

89

正規表現を使用する

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>

于 2017-10-29T11:07:31.200 に答える
72

空白で再度分割:

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);
}
于 2013-09-01T12:26:11.793 に答える
18

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

function getFirstWord(str) {
        let spaceIndex = str.indexOf(' ');
        return spaceIndex === -1 ? str : str.substr(0, spaceIndex);
    };
于 2015-07-24T16:21:33.490 に答える
14

文字列の最初の単語を取得するには、次のようにします。

let myStr = "Hello World"
let firstWord = myStr.split(" ")[0]
console.log(firstWord)

split(" ")文字列を単語の配列に変換し(部分文字列はスペースを区切り記号として使用して文字列を分割した結果です)、[0]を使用して最初の配列要素にアクセスする最初の単語を取得できます。

分割方法の詳細を参照してください。

于 2021-02-04T16:51:59.493 に答える
6

underscorejs を使用するのはどうですか

str = "There are so many places on earth that I want to go, i just dont have time. :("
firstWord = _.first( str.split(" ") )
于 2016-10-01T03:15:22.627 に答える
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);
}
于 2013-09-01T12:31:43.080 に答える
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]);
 }
于 2013-09-01T12:31:32.247 に答える
2

この方法が言及されていないことに驚いています:"Some string".split(' ').shift()


質問に直接答えるには:

let firstWords = []
let str = "Hello m|sss sss|mmm ss";
const codeLines = str.split("|");

for (var i = 0; i < codeLines.length; i++) {
  const first = codeLines[i].split(' ').shift()
  firstWords.push(first)
}
于 2020-02-06T01:48:30.557 に答える