質問編集履歴
1
あ
title
CHANGED
File without changes
|
body
CHANGED
@@ -41,10 +41,19 @@
|
|
41
41
|
|
42
42
|
と表示させる為にsplit関数をつかえばいいのでしょうか?調べましたが",(?=([^\"]*\"[^\"]*\")*[^\"]*$)"の部分が理解できず質問させて頂きました。
|
43
43
|
|
44
|
-
var csv_sample = '"学校","我が子の名前=\"健太,綾香\"","特機","鷲見","誕生日"';
|
44
|
+
~~var csv_sample = '"学校","我が子の名前=\"健太,綾香\"","特機","鷲見","誕生日"';
|
45
|
-
var csvvalue = csv_sample.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)", -1);
|
45
|
+
var csvvalue = csv_sample.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)", -1);~~
|
46
46
|
|
47
47
|
以下を参考にしました。
|
48
48
|
https://teratail.com/questions/41598
|
49
49
|
|
50
|
+
追記 以下コメントがありましたが以前本質問の回答がわかりません。
|
51
|
+
|
52
|
+
> var lines = text.split(lined);
|
53
|
+
初めに改行で split しているのでセル値内の改行もsplitしてしまっています。
|
54
|
+
"" で括られた中にはどんな文字でも入れる事が出来ます(エスケープされていない " を除く)ので split で行を分割する実装は基本的にまずいです。
|
55
|
+
" のエスケープ処理がなく、 ", が後続すると自動的にセル値として閉じる仕様なので ", をセル値に含める事もできないようです。
|
56
|
+
console.log(JSON.stringify(jQuery.csv()('"a1"",a2","b1\r\nb2"'))); // [["a1\"","2","b"],["2"]]
|
57
|
+
|
58
|
+
|
50
59
|
宜しくお願いします。
|