読者です 読者をやめる 読者になる 読者になる

素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

近況とsplitについて

javascript

近況

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"]