C:\aaa bbb

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

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

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

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2008/01/11 17:07:50
  • 終了:2008/01/15 17:21:30

回答(3件)

id:t_ishida No.1

t_ishida回答回数18ベストアンサー獲得回数02008/01/11 17:22:34

ポイント10pt

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

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);
id:porinki07

ありがとうございます。

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

2008/01/15 10:29:35
id:yoshifumi1975 No.2

yoshifumi1975回答回数58ベストアンサー獲得回数102008/01/12 17:06:36

ポイント30pt

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";

}

id:porinki07

ありがとうございます。

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

2008/01/15 10:29:44
id:yoshifumi1975 No.3

yoshifumi1975回答回数58ベストアンサー獲得回数102008/01/15 16:33:01

ポイント40pt

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

プログラム( 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/

id:porinki07

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

2008/01/15 17:20:47

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません