人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C:\aaa bbb
ccc
ddd
(改行)
(改行)
C:\eeee ff
ggg

といったデータがあるのですが、これを
C:\aaa,bbb,ccc,ddd
C:\eeee,ff,ggg

のcsv形式のファイルに変換したいと考えています。
javascriptなどで変換するいい方法があればお教えください。

●質問者: porinki07
●カテゴリ:コンピュータ
✍キーワード:AAA CCC CSV ddd ff
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● t_ishida
●10ポイント

あんまりエレガントじゃないですが、こんなんで良いすか?

WScriptで実行します。

URLはダミーです。http://d.hatena.ne.jp/t_ishida

var x =
"C:\\aaa bbb\n" +
" ccc\n" +
" ddd\n" +
"\n" +
"\n" +
"C:\\eeee ff\n" +
" ggg\n";
var ret = '';
var lines = x.split(/\n/);
for(var i in lines ){
 var ln = lines[i].replace(/\s+/,',');
 if( ln.match(/\w:/ ) ) ret += "\n";
 ret += ln;
}
WScript.Echo(ret);
◎質問者からの返答

ありがとうございます。

ファイルから読み込む場合についてもお教え願えるとありがたいのですが。


2 ● yoshifumi1975
●30ポイント

Perlがやっぱり楽です。

http://www.activestate.com/store/activeperl/

$s=q{C:\aaa bbb

ccc

ddd


C:\eeee ff

ggg


C:\hh ii jj kk

lll mm

nn

ooo ppp

};

local %/;

@a=split /C:/i, $s;

shift @a;

foreach $a (@a) {

$a =~ s/[ \n]+/,/g;

$a =~ s/,$//;

print "C:", $a, "\n";

}

◎質問者からの返答

ありがとうございます。

ファイルから読み込む場合についてもお教え願えるとありがたいのですが。


3 ● yoshifumi1975
●40ポイント

ファイルから読む場合を書きます。

プログラム( test.pl )

open(FH, "$ARGV[0]");

local $/;

$s=<FH>;

local %/;

@a=split /C:/i, $s;

shift @a;

foreach $a (@a) {

$a =~ s/[ \n]+/,/g;

$a =~ s/,$//;

print "C:", $a, "\n";

}

サンプルファイル( test.txt )

C:\aaa bbb

ccc

ddd

C:\eeee ff

ggg

C:\hh ii jj kk

lll mm

nn

ooo ppp

実行例

perl test.pl test.txt

URL はダミーです。

http://example.com/

◎質問者からの返答

ありがとうございました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ