2

次のような文字列を指定します。

"boy, girl, dog, cat"

最初の単語と残りの単語を取得するにはどうすればよいので、次のようにすることができます。

var first_word = "boy";
var rest = "girl, dog, cat";

今私はこれを持っています:

my_string.split(",");しかし、それはコンマの間にあるすべての単語を私に与えます.

4

5 に答える 5

4

との両方splitを使用できspliceます。

var str = "boy, girl, dog, cat";
var arr = str.split(",");
var fst = arr.splice(0,1).join("");
var rest = arr.join(",");

または類似

// returns an array with the extracted str as first value
// and the rest as second value
function cutFirst(str,token){
   var arr = str.split(token);
   var fst = arr.splice(0,1);
   return [fst.join(""),arr.join(token)];
}
于 2012-11-12T09:23:20.680 に答える
1

substring()(2つのインデックス間のサブストリングまたはストリングの終わりをindexOf()返す)と(別のストリング内のサブストリングの最初の位置を返す)の組み合わせを使用します。

var input = "boy, girl, dog, cat",
    pos = input.indexOf( ',' );

console.log( input.substring( 0, pos ) );
console.log( input.substring( pos + 1 ) );

trim()結果に空白を削除するための呼び出しを追加したい場合があります。

于 2012-11-12T09:23:54.983 に答える
0

さらに別のオプションは、配列を分割し、最初に取得して残りを結合することです。

var my_string = "boy, girl, dog, cat";
var splitted = my_string.split(',');
var first_item = splitted.shift();
var rest_of_the_items = splitted.join(',');

console.log(first_item); // 'boy'
console.log(rest_of_the_items); // 'girl, dog, cat'

于 2012-11-12T09:27:12.173 に答える
0

正規表現を使用して、最初のコンマの前後の 2 つの文字列を一致させることができます。

var v = "boy, girl, dog, cat";
var strings = v.match(/([^,]*),(.*)/);

stringsこれで、3 要素配列になります。

  • strings[0]完全な文字列を含む
  • strings[1]最初のカンマの前の文字列を含む
  • strings[2]最初のカンマ以降のすべてを含む
于 2012-11-12T09:23:37.543 に答える
0

怠惰な方法で配列を作成し、最初の要素だけを取得できます。

var ArrayFromString = "boy, girl, dog, cat".split(",");
firstElement = ArrayFromString.pop();
alert(firstElement); //boy
alert(ArrayFromString); //girl, dog, cat​​​​​​​​​​​​​​​​​
于 2012-11-12T09:30:53.470 に答える