こんなときどのように置換すれば?No.18712
Y.T. さん 05/01/24 17:45
 
お世話になります。テキストの置換処理について質問させて下さい。

ある機器の吐き出すデータが、

-----
1,,0.0000E+00,,,,,,,,,,,,,,,,,,,,,,
2,,-1.0000E-04,,,,,,,,,,,,,,,,,,,,,,
3,,0.0000E+00,,,,,,,,,,,,,,,,,,,,,,
4,,0.0000E+00,,,,,,,,,,,,,,,,,,,,,,

-----

というフォーマットになっています。(因みにデータ行数は数万行
です。)これを秀丸で最初の「,,」だけを消したいと考えています。
後半の「,,,,,,,,,,,,,,,,,,,,,,」は消えても構わないので、
 「,,」→「」
という置換をしたところ、もの凄く時間がかかってしまいました。
後半のコンマも2個ずつで処理されるので当たり前ですが…。

そこで最初の「,,」だけを処理対象にする方法を考えているのです
が、いい方法が思いつきません。[0-9][,][,][-0-9] で検索には引
っかかるのですが、置換するにはどう書けば良いのでしょうか?

どなたか御教授願えれば幸いです。

[ ]
RE:18712 こんなときどのように置換すればNo.18713
Iranoan さん 05/01/24 18:01
 
 Y.T. さん今日は、Iranoan です。
> 1,,0.0000E+00,,,,,,,,,,,,,,,,,,,,,,
<snip>
> というフォーマットになっています。(因みにデータ行数は数万行
> です。)これを秀丸で最初の「,,」だけを消したいと考えています。
<snip>
> [0-9][,][,][-0-9] で検索には引
> っかかるのですが、置換するにはどう書けば良いのでしょうか?
検索:[0-9][,]\f[,]\f[-0-9]
置換:\0\2
で良いと思います。

 単純に連続する「,」を一つにしたいなら、
検索:,,+
置換:,
にします。

[ ]
RE:18713 こんなときどのように置換すればNo.18714
Y.T. さん 05/01/24 22:40
 
Y.T. です。

>検索:[0-9][,]\f[,]\f[-0-9]
>置換:\0\2
>で良いと思います。

Iranoan 様、ありがとうございました。上手くいきました。
「\f」という表現を知りませんでした。今から勉強してみます。

[ ]