JavaScript の split() メソッドを使用して、改行 (\n) 正規表現で一致するさまざまなブラウザーの動作を理解しようとしています。
Excelから貼り付けられた行を取得し、改行で配列に分割するテキストエリア入力フォームがあります。
var rowsplit = document.getElementById("inputfield").value.split(/\n/g);
ユーザーはサイド バーで Excel の行を選択するため、最初の 11 列にはデータがあり、それらの後に空の列がたくさんあり、後でスライスしてスプレッドシートの端に表示されます。したがって、Excel からの典型的な入力は次のようになります。
[data][data][data][data]x11[null][null][null]etc until edge of spreadsheet
違いは、正規表現によって照合され、配列にプッシュされるものです。
Chrome 28 と Safari 5.1 の両方で、3 行の情報を選択すると、\n が 3 として正しく一致し、それらが配列に出力され、気にせずにデイジー フィールドをはしゃぎます。
ただし、IE10 と Firefox 19 では、最初の 3 つの改行が正常に一致し、空白の余分な改行が取得されます。したがって、\n 式はそれを4 つの項目に分割し、建物に激突して数百人を殺します。
CRLF 文字を異なる方法で処理するさまざまなブラウザーについて多くのことを読み、\r\n と \r だけで分割しようとしましたが、より多くの問題が発生するようです。また、Excel の行を Notepad++ にコピーし、CRLF 文字の表示をオンにして、3 つしかないように見えるのに、なぜ IE と Firefox が別の行を追加するのでしょうか?
また、正規表現、JS、ブラウザ、改行、Excel で人々が抱えている問題についてもたくさん読んだことがありますが、そのほとんどは古いブラウザに関連しているように見えるので、現状について知識のある人が提供できることを望んでいました。いくつかの洞察。
ありがとう!