次のような文字列を指定します。
"boy, girl, dog, cat"
最初の単語と残りの単語を取得するにはどうすればよいので、次のようにすることができます。
var first_word = "boy";
var rest = "girl, dog, cat";
今私はこれを持っています:
my_string.split(",");
しかし、それはコンマの間にあるすべての単語を私に与えます.
次のような文字列を指定します。
"boy, girl, dog, cat"
最初の単語と残りの単語を取得するにはどうすればよいので、次のようにすることができます。
var first_word = "boy";
var rest = "girl, dog, cat";
今私はこれを持っています:
my_string.split(",");
しかし、それはコンマの間にあるすべての単語を私に与えます.
との両方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)];
}
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()
結果に空白を削除するための呼び出しを追加したい場合があります。
さらに別のオプションは、配列を分割し、最初に取得して残りを結合することです。
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'
正規表現を使用して、最初のコンマの前後の 2 つの文字列を一致させることができます。
var v = "boy, girl, dog, cat";
var strings = v.match(/([^,]*),(.*)/);
strings
これで、3 要素配列になります。
strings[0]
完全な文字列を含むstrings[1]
最初のカンマの前の文字列を含むstrings[2]
最初のカンマ以降のすべてを含む怠惰な方法で配列を作成し、最初の要素だけを取得できます。
var ArrayFromString = "boy, girl, dog, cat".split(",");
firstElement = ArrayFromString.pop();
alert(firstElement); //boy
alert(ArrayFromString); //girl, dog, cat