近況とsplitについて
splitについて
正規表現や文字列を使って文字を配列に分けるsplitメソッドの挙動。
まず、JavaScript。
"".split(""); // []
空の正規表現を使った
"".split(RegExp("")); // []
も、空。
RegExp("")
は/(?:)/
と同じ。
" ".split(" "); // ["", ""]
""
と""
を" "
でつないでる、と解釈されるようだ。
" foo bar ".split(/\s+/); // ["", "foo", "bar", ""]
空文字列が混ざる。
Rubyだと、
" foo bar ".split(/\s+/) # ["", "foo", "bar"]
最後には空文字は追加されない。
" foo bar ".split(" ") # ["foo", "bar"]
よくわからない。最初も最後も空文字は削除される。
function qw(words) { var a = String(words).split(/\s+/); if (a.length > 0 && a[0] == "") a.unshift(); if (a[a.length - 1] == "") a.pop(); return a; } qw(""); // [] qw(" foo bar "); // ["foo", "bar"]