SQLの窓

2010年02月03日


JavaScript : CSV 形式のデータのフィールド分割

正規表現でどうするか質問されたので、ちょっと調べてみると正規表現で無理しているものしか見当たらなかったので作りました。運用した事無いので多少の調整は必要かもしれませんが、これなら誰でも改造できると思います
// 対象文字列
var x = 'a,"b,b",",,,",c';

// まず、" で挟まれた文字列を取り出す
var a = x.match(/"[^"]+"/g);

// " で挟まれた文字列をデータ上存在しない文字で置き換える
var b = x.replace(/"[^"]+"/g,String.fromCharCode(0x1a));

// その文字列をカンマで分割
var y = b.split(",");

// 分割されたフィールドに置き換えられた文字列を戻す
var n = 0;
for( i = 0; i < y.length; i++ ) {
	if ( y[i] == String.fromCharCode(0x1a) ) {
		y[i] = a[n];
		n++;
	}
}

// 結果の確認
str = "";
for( i = 0; i < y.length; i++ ) {
	str += y[i]+"\n";
}
alert(str)



【JavaScriptの最新記事】
posted by lightbox at 2010-02-03 23:10 | JavaScript | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり