要件: js は、文字列内のコンマに従って各要素を取り出し、配列に入れます
split()
このメソッドは、指定された区切り文字 string を使用してStringオブジェクトを部分文字列の配列に分割し、指定された分割文字列を使用して各分割の位置を決定します。
const str = 'The quick brown fox jumps over the lazy dog.';
const words = str.split(' ');
console.log(words[3]);
// Expected output: "fox"
const chars = str.split('');
console.log(chars[8]);
// Expected output: "k"
const strCopy = str.split();
console.log(strCopy);
// Expected output: Array ["The quick brown fox jumps over the lazy dog."]
文法
str.split([separator[, limit]])
警告: 空の文字列 (") が区切り文字として使用されている場合、文字列はユーザーが認識する各文字 (グラフィック ベニア クラスター) の間でも、各 Unicode 文字 (コード ポイント) の間でもなく、各 UTF-16 コード単位の間です。 . これはサロゲート ペアを破棄します. javascript で文字配列に文字列を取得する方法も参照してください
パラメータ
separator
各分割が発生するポイントを表す文字列を指定します。separator
文字列または正規表現を指定できます。プレーン テキストの区切り記号に複数の文字が含まれている場合、分割点を表すには文字列全体を見つける必要があります。区切り文字が省略されているか、str に存在する場合、返される配列には、文字列全体で構成される 1 つの要素が含まれます。delimiter が空の文字列の場合、str は元の文字列の各文字の配列として返されます。
limit
返される分割数を制限する整数。このパラメーターが指定されている場合、split メソッドは、指定された区切り文字が出現するたびに文字列を分割しますが、制限エントリが配列に配置されると停止します。指定された制限に達する前に文字列の末尾に達した場合でも、制限より少ないエントリしか含まれていない可能性があります。残りのテキストは、新しい配列には返されません。
戻り値
区切り文字の位置で区切られたソース文字列の 配列を返します
説明
区切り文字が見つかると、文字列から削除され、部分文字列の配列が返されます。区切り文字が見つからないか省略されている場合、配列には文字列全体で構成される 1 つの要素が含まれます。delimiter が空の文字列の場合、str を文字配列に変換します。区切り文字が文字列の先頭または末尾、あるいはその両方にある場合は、それぞれ空の文字列、末尾、またはその両方で開始および終了します。したがって、文字列がセパレータの 1 つのインスタンスのみで構成される場合、配列は 2 つの空の文字列で構成されます。
区切り文字がキャプチャー括弧を含む正規表現である場合、キャプチャー括弧の結果 (未定義の結果を含む) は、区切り文字が一致するたびに出力配列に連結されます。ただし、すべてのブラウザーがこの機能をサポートしているわけではありません。
注: split() は、文字列が空の場合は空の配列ではなく空の文字列を含む配列を返し、文字列と区切り文字の両方が空の文字列の場合は空の配列を返します。
例
分割()を使用する
次の例では、関数を定義しています。指定された区切り文字に従って、文字列を文字列の配列に分割します。文字列を区切った後、関数は元の文字列情報、使用された区切り文字、返された配列要素の数を出力し、配列内のすべての要素を順番に返します。
function splitString(stringToSplit, separator) {
var arrayOfStrings = stringToSplit.split(separator);
console.log('The original string is: "' + stringToSplit + '"');
console.log('The separator is: "' + separator + '"');
console.log("The array has " + arrayOfStrings.length + " elements: ");
for (var i=0; i < arrayOfStrings.length; i++)
console.log(arrayOfStrings[i] + " / ");
}
var tempestString = "Oh brave new world that has such people in it.";
var monthString = "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec";
var space = " ";
var comma = ",";
splitString(tempestString, space);
splitString(tempestString);
splitString(monthString, comma);
クリップボードにコピー クリップボードにコピー
上記の例は、次の結果を出力します。
元の文字列は、「ああ、そのような人々がいる素晴らしい新しい世界」です。 区切り文字は " " です。 この配列には 10 個の要素があります: ああ / 勇敢 / 新しい / 世界 / あの / 持っている / そのような / 人 / 中 / それ。/ 元の文字列は、「ああ、そんな人がいる勇敢な新世界」です。 セパレーターは「未定義」です。 配列には1つの要素があります。ああ、そのような人々がいる素晴らしい新しい世界。/ 元の文字列: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" 区切り文字: "," 配列には 12 の要素があります: Jan / Feb / Mar / 4月 / 5月 / 6月 / 7月 / 8月 / 9月 / 10月 / 11月 / 12月 /
クリップボードにコピー クリップボードにコピー
文字列からスペースを削除する
In the following example, split()
the method will search for a string of the pattern "0 or more whitespace followed by a semicolon, followed by 0 or more whitespace". 見つかった場合、空白は文字列から削除され、yes は配列を返しnameList
ます split
。
var names = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ";
console.log(names);
var re = /\s*(?:;|$)\s*/;
var nameList = names.split(re);
console.log(nameList);
クリップボードにコピー クリップボードにコピー
上記の例は 2 行を出力します。1 行目は元の文字列を出力し、2 行目は結果の配列を出力します。
ハリー・トランプ;フレッド・バーニー; ヘレン・リグビー; ビル・アベル;クリス・ハンド [「ハリー・トランプ」、「フレッド・バーニー」、「ヘレン・リグビー」、「ビル・アベル」、「クリス・ハンド」、「」]
クリップボードにコピー クリップボードにコピー
戻り値の分割要素の数を制限する
次の例では、split
文字列内の 0 個以上のスペースを検索し、見つかった最初の 3 つの分割を返します。
var myString = "Hello World. How are you doing?";
var splits = myString.split(" ", 3);
console.log(splits);
クリップボードにコピー クリップボードにコピー
上記の例の出力:
[「こんにちは」、「世界」、「どのように」]
クリップボードにコピー クリップボードにコピー
結果に区切られたブロックが含まれるように正規表現でセグメント化する
キャプチャ括弧が含まれている場合 separator
、一致する結果が返される配列に含まれます。
var myString = "Hello 1 word. Sentence number 2.";
var splits = myString.split(/(\d)/);
console.log(splits);
クリップボードにコピー クリップボードにコピー
上記の例の出力:
[「こんにちは」、「1」、「単語。文番号」、「2」、「。」]
クリップボードにコピー クリップボードにコピー
区切りとして配列を使用する
const myString = 'this|is|a|Test'; const splits = myString.split(['|']); console.log(分割); //["this", "is", "a", "Test"] const myString = 'ca,bc,a,bca,bca,bc'; const splits = myString.split(['a','b']); // myString.split(['a','b']) は myString.split(String(['a','b'])) と同じです console.log(splits); //["c", "c,", "c", "c", "c"]
クリップボードにコピー クリップボードにコピー
文字列の順序を逆にするには、split() を使用します。
警告: これは、文字列を反転するための堅牢な方法ではないことに注意してください。
const str = 'asdfghjkl';
const strReverse = str.split('').reverse().join(''); // 'lkjhgfdsa'
// split() returns an array on which reverse() and join() can be applied
クリップボードにコピー クリップボードにコピー
文字列にグラフィック ピクセルのクラスターが含まれている場合、 Unicode 対応の分割 (代わりにesrever などを使用 ) は機能しません。
const str = 'résumé';
const strReverse = str.split(/(?:)/u).reverse().join('');
// => "́emuśer"
クリップボードにコピー クリップボードにコピー
おまけ: === (en-US) 演算子を使用して、元の文字列が回文であるかどうかをテストします。