ccc
ddd
(改行)
(改行)
C:\eeee ff
ggg
といったデータがあるのですが、これを
C:\aaa,bbb,ccc,ddd
C:\eeee,ff,ggg
のcsv形式のファイルに変換したいと考えています。
javascriptなどで変換するいい方法があればお教えください。
あんまりエレガントじゃないですが、こんなんで良いすか?
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);
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";
}
ありがとうございます。
ファイルから読み込む場合についてもお教え願えるとありがたいのですが。
ファイルから読む場合を書きます。
プログラム( 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 はダミーです。
ありがとうございました!
ありがとうございます。
ファイルから読み込む場合についてもお教え願えるとありがたいのですが。