Baseline Widely available
split()
㯠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."]
æ§æ
split(separator)
split(separator, limit)
弿°
separator
ååå²ãã©ãã§è¡ããããã表ããã¿ã¼ã³ã§ããundefined
ãæååãã¾ã㯠Symbol.split
ã¡ã½ãããæã¤ãªãã¸ã§ã¯ããæå®ãããã¨ãã§ãã¾ããå
¸åçãªä¾ã¯æ£è¦è¡¨ç¾ã§ããseparator
ãçç¥ããã undefined
ãæ¸¡ãããããã¨ãsplit()
ã¯å¼ã³åºãå
ã®æååã 1 ã¤ã®è¦ç´ ã¨ããé
åãè¿ãã¾ããundefined
ã§ãªãå¤ãã¾ã㯠[Symbol.split]()
ã¡ã½ãããæã¤ãªãã¸ã§ã¯ãã¯ãã¹ã¦æååã«å¤æããã¾ãã
limit
çç¥å¯
é
åã«å«ããé¨åæååã®æ°ã®å¶éãæå®ããéè² ã®æ´æ°ãæå®ããå ´åã¯ãæå®ãã separator
ãåºç¾ãããã³ã«æååãåå²ãã¾ãããlimit
åã®é
ç®ãé
åã«æ ¼ç´ãããæç¹ã§åå²ãçµäºãã¾ããæ®ã£ãæååã¯é
åã«æ ¼ç´ããã¾ããã
limit
ãããå°ãªããªããã¨ãããã¾ããlimit
ã 0
ã®å ´åã¯ã[]
ãè¿ããã¾ããæååã® Array
ã§ãæå®ãããæååã§ separator
ãç¾ãããã³ã«åå²ããããã®ã§ãã
separator
ã空ã§ãªãæååã®å ´åãå¯¾è±¡ã®æåå㯠separator
ã«ä¸è´ãããã¹ã¦ã®æååã§åå²ããããã®çµæã«ã¯ separator
ã¯å«ã¾ãã¾ãããä¾ãã°ãã¿ãåºåãå¤ (TSV) ãå«ãæååã¯ãmyString.split("\t")
ã®ããã«ã¿ãæåãåºåãæåã¨ãã¦æ¸¡ããã¨ã§è§£æã§ãã¾ããseparator
ãè¤æ°ã®æåãå«ãå ´åãåå²ããããã«ã¯ãã®æååããã¹ã¦è¦ã¤ããå¿
è¦ãããã¾ããseparator
ãæååã®å
é ï¼ã¾ãã¯æ«å°¾ï¼ã«ããå ´åã§ãåå²ã®å¹æã¯å¤ããã¾ããããã®çµæãè¿å¤ã®é
åã®æå (ã¾ãã¯æå¾) ã®ä½ç½®ã«ã¯ç©ºæååï¼ã¤ã¾ãé·ã 0ï¼ãå«ã¾ãã¾ããseparator
ã str
å
ã«åå¨ããªãå ´åãè¿å¤ã®é
åã«ã¯æååå
¨ä½ãããªãè¦ç´ ã 1 ã¤å«ã¾ãã¾ãã
separator
ã空æåå (""
) ã®å ´åãstr
㯠UTF-16 ã®ãæåãã®é
åã«å¤æããã両端ã空æååã«ãªããã¨ã¯ããã¾ããã
ã¡ã¢: ãããã£ã¦ã"".split("")
㯠separator
ã¨ãã¦æååãæ¸¡ãããlimit
ã 0
ã§ãªãã¨ãã«ç©ºã®é
åãçæããå¯ä¸ã®æ¹æ³ã§ãã
è¦å: åºåãæåã¨ãã¦ç©ºæåå (""
) ãç¨ããããå ´åãæååã¯ã¦ã¼ã¶ã¼ãèªèããæåï¼æ¸è¨ç´ ã¯ã©ã¹ã¿ï¼ã Unicode æåï¼ã³ã¼ããã¤ã³ãï¼ã§ã¯ãªããUTF-16 ã³ã¼ãåä½ã§åå²ããã¾ãã ããã¯ãµãã²ã¼ããã¢ãç ´å£ãã¾ããStackOverflow ã® "How do you get a string to a character array in JavaScript?" ãåç
§ãã¦ãã ããã
separator
ã空æååã«ä¸è´ããæ£è¦è¡¨ç¾ã§ããå ´åãä¸è´ããæååã UTF-16 ã³ã¼ãåä½ã§åå²ãããããUnicode ã³ã¼ãç¹ã§åå²ããããã¯ãæ£è¦è¡¨ç¾ã Unicode-aware ãã©ããã«ä¾åãã¾ãã
"ðð".split(/(?:)/); // [ "\ud83d", "\ude04", "\ud83d", "\ude04" ]
"ðð".split(/(?:)/u); // [ "ð", "ð" ]
ãã separator
ããã£ããã£ã°ã«ã¼ããæã¤æ£è¦è¡¨ç¾ã§ããã°ãseparator
ãä¸è´ãããã³ã«ããã£ããã£ãããã°ã«ã¼ãï¼undefined
ã®çµæãå«ãï¼ãåºåé
åã«åå²ããã¾ãã ãã®åä½ã¯æ£è¦è¡¨ç¾ã® Symbol.split
ã¡ã½ããã§æå®ãã¾ãã
åºåãæå separator
ã Symbol.split
ã¡ã½ãããæã¤ãªãã¸ã§ã¯ãã®å ´åããã®ã¡ã½ããã¯å¯¾è±¡ã®æåå㨠limit
ã弿°ã¨ãã¦å¼ã³åºãããthis
ã«ã¯ãã®ãªãã¸ã§ã¯ããè¨å®ããã¾ãã ãã®è¿å¤ã split
ã®è¿å¤ã«ãªãã¾ãã
ãã以å¤ã®å¤ã¯ãã»ãã¬ã¼ã¿ã¼ã¨ãã¦ä½¿ãããåã«æååã«å¤æããã¾ãã
ä¾ split() ã®ä½¿ç¨æååã空ã®å ´åã split()
ã¯ç©ºã®é
åã§ã¯ãªãã1 ã¤ã®ç©ºæååãå«ãé
åãè¿ãã¾ããæååã¨åºåãæååãå
±ã«ç©ºæååã®å ´åã空ã®é
åãè¿ãã¾ãã
const emptyString = "";
// æååã¯ç©ºã§ãã»ãã¬ã¼ã¿ã¼ã¯ç©ºã§ã¯ãªã
console.log(emptyString.split("a"));
// [""]
// æååã¨ã»ãã¬ã¼ã¿ã¼ãã¨ãã«ç©ºæåå
console.log(emptyString.split(emptyString));
// []
次ã®ä¾ã§ã¯ãæååã separator
ãç¨ãã¦æååã®é
åã«åå²ãã颿°ãå®ç¾©ãã¾ãã æååãåå²ããå¾ããã®é¢æ°ã¯å
ã®æååï¼åå²åï¼ãç¨ãã¦ããåºåãæåãé
åã®è¦ç´ æ°ãåã
ã®é
åè¦ç´ ã示ãã¡ãã»ã¼ã¸ããã°åºåãã¾ãã
function splitString(stringToSplit, separator) {
const arrayOfStrings = stringToSplit.split(separator);
console.log("å
ã®æåå: ", stringToSplit);
console.log("åºåãæåå: ", separator);
console.log(
"é
åã®è¦ç´ æ°ã¯",
arrayOfStrings.length,
"ä»¶: ",
arrayOfStrings.join(" / "),
);
}
const tempestString = "Oh brave new world that has such people in it.";
const monthString = "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec";
const space = " ";
const comma = ",";
splitString(tempestString, space);
splitString(tempestString);
splitString(monthString, comma);
ãã®ä¾ã¯æ¬¡ã®ãããªåºåçµæãçæãã¾ãã
å ã®æåå: "Oh brave new world that has such people in it." åºåã: " " é å㯠10 è¦ç´ : Oh / brave / new / world / that / has / such / people / in / it. å ã®æåå: "Oh brave new world that has such people in it." åºåã: "undefined" é å㯠1 è¦ç´ : Oh brave new world that has such people in it. å ã®æåå: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" åºåã: "," é å㯠12 è¦ç´ : Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov / Decæååããã®ç©ºç½ã®åé¤
以ä¸ã®ä¾ã§ã¯ãsplit()
ã¯ã0 å以ä¸ã®ç©ºç½ã¨ããã«ç¶ãã»ãã³ãã³ãããã«ããã«ç¶ã 0 å以ä¸ã®ç©ºç½ãæ¢ããããããè¦ã¤ãã£ãã¨ããæååãã空ç½ãåé¤ãã¾ããnameList
ã¯ãsplit()
ã®çµæã¨ãã¦è¿ãããé
åã§ãã
const names = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ";
console.log(names);
const re = /\s*(?:;|$)\s*/;
const nameList = names.split(re);
console.log(nameList);
ãã㯠2 ã¤ã®è¡ãåºåãã¾ãã1 è¡ç®ã¯å
ã®æååãåºåãã2 è¡ç®ã¯ split
ã¡ã½ããã®å®è¡çµæã®é
åãåºåãã¾ãã
Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand [ "Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand", "" ]éãããæ°ã®åå²çµæãè¿ã
以ä¸ã®ä¾ã§ã¯ãsplit()
㯠æååä¸ã® 0 å以ä¸ã®ç©ºç½ãæ¢ããè¦ã¤ãã£ãæåã® 3 ã¤ã®åå²çµæãè¿ãã¾ãã
const myString = "Hello World. How are you doing?";
const splits = myString.split(" ", 3);
console.log(splits); // [ "Hello", "World.", "How" ]
RegExp
ã使ã£ãåå²ã§ã»ãã¬ã¼ã¿ã¼ã®ä¸é¨ãçµæã«å«ãã
ãã separator
ãæ¬å¼§ ( )
ãå«ãæ£è¦è¡¨ç¾ã§ããã°ãä¸è´ããçµæãé
åã«å«ãããã¾ãã
const myString = "Hello 1 word. Sentence number 2.";
const splits = myString.split(/(\d)/);
console.log(splits);
// [ "Hello ", "1", " word. Sentence number ", "2", "." ]
ã¡ã¢: \d
ã¯æ°å 0 ãã 9 ã¾ã§ã®æåã¯ã©ã¹ã«ä¸è´ãã¾ãã
Symbol.split
ã¡ã½ãããæã¤ãªãã¸ã§ã¯ãã¯ãç¬èªã®åä½ãæã¤ã¹ããªãã¿ã¼ã¨ãã¦ä½¿ç¨ãããã¨ãã§ãã¾ãã
次ã®ä¾ã¯ãå¢å ããæ°å¤ãããªãå é¨ç¶æ ã使ç¨ãã¦æååãåå²ãã¾ãã
const splitByNumber = {
[Symbol.split](str) {
let num = 1;
let pos = 0;
const result = [];
while (pos < str.length) {
const matchPos = str.indexOf(num, pos);
if (matchPos === -1) {
result.push(str.substring(pos));
break;
}
result.push(str.substring(pos, matchPos));
pos = matchPos + String(num).length;
num++;
}
return result;
},
};
const myString = "a1bc2c5d3e4f";
console.log(myString.split(splitByNumber)); // [ "a", "bc", "c5d", "e", "f" ]
次ã®ä¾ã§ã¯ãå é¨ç¶æ ã使ç¨ãã¦ç¹å®ã®åä½ãå¼·å¶ãããæå¹ãªãçµæã確å®ã«ä¿æãããããã«ãã¦ãã¾ãã
const DELIMITER = ";";
// Split the commands, but remove any invalid or unnecessary values.
const splitCommands = {
[Symbol.split](str, lim) {
const results = [];
const state = {
on: false,
brightness: {
current: 2,
min: 1,
max: 3,
},
};
let pos = 0;
let matchPos = str.indexOf(DELIMITER, pos);
while (matchPos !== -1) {
const subString = str.slice(pos, matchPos).trim();
switch (subString) {
case "light on":
// If the `on` state is already true, do nothing.
if (!state.on) {
state.on = true;
results.push(subString);
}
break;
case "light off":
// If the `on` state is already false, do nothing.
if (state.on) {
state.on = false;
results.push(subString);
}
break;
case "brightness up":
// Enforce a brightness maximum.
if (state.brightness.current < state.brightness.max) {
state.brightness.current += 1;
results.push(subString);
}
break;
case "brightness down":
// Enforce a brightness minimum.
if (state.brightness.current > state.brightness.min) {
state.brightness.current -= 1;
results.push(subString);
}
break;
}
if (results.length === lim) {
break;
}
pos = matchPos + DELIMITER.length;
matchPos = str.indexOf(DELIMITER, pos);
}
// If we broke early due to reaching the split `lim`, don't add the remaining commands.
if (results.length < lim) {
results.push(str.slice(pos).trim());
}
return results;
},
};
const commands =
"light on; brightness up; brightness up; brightness up; light on; brightness down; brightness down; light off";
console.log(commands.split(splitCommands, 3)); // ["light on", "brightness up", "brightness down"]
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4