空文字(?)の削除No.06339
バク さん 00/08/15 08:29
 

自分ばかり聞いていて、恐縮なのですが・・

Win98、秀丸Ver3.05です。
顧客管理をするはめになり、急遽秀丸の正規表現を勉強しているのです
がなかなか、思い通りにいきません。 (^^;;

今度の、質問は 空文字(?)の削除です。

色んな処理を経て、顧客のmailアドレスのdataを
作っているのですが、行末(改行の前)空白処理についてです。


------改行の前の空白がある文字列----------
a@xxx.xxx ↓
b@xxx.xxx ↓
c@xxx.xxx ↓
------------------------------------------

  やりたいこと(↓は秀丸の改行マークのつもりです)

------改行の前の空白を削除したい----------
a@xxx.xxx↓
b@xxx.xxx↓
c@xxx.xxx↓
------------------------------------------

何故か、所々の上に空白(スペース?)が入ってしまいました。
で、この空白はBackspaceやDeleteキーで削除できます。
この空白を削除するにはどうすればいいのでしょうか?

幼稚な質問で恐縮ですが、何方か教えてください。

PS.
一般にaaa bbbの行に空白が入っている行を
aaabbbの様に詰めるにはどのようにするのでしょうか?

[ ]
RE:06339 空文字(?)の削除No.06341
ENCODINGSHIFTJIS さん 00/08/15 09:19
 
空白類=全角空白+半角空白+タブ+改行
ラフな方法は: 検索文字列=半角空白 置換文字列=無し で全置換
次は正規表現のパズル  処理の考え方は様々、状況による
行頭から「空白でないもの」を残す
^[^ ]+\f +\n    →  \0\n
行末の空白を消去する
[ ]+$         →  


[ ]
RE:06339 空文字(?)の削除No.06342
RET さん 00/08/15 13:26
 
こん○○は.

>------改行の前の空白がある文字列----------
>a@xxx.xxx ↓
>b@xxx.xxx ↓
>c@xxx.xxx ↓
>------------------------------------------
>
>  やりたいこと(↓は秀丸の改行マークのつもりです)
>
>------改行の前の空白を削除したい----------
>a@xxx.xxx↓
>b@xxx.xxx↓
>c@xxx.xxx↓
>------------------------------------------
>
>何故か、所々の上に空白(スペース?)が入ってしまいました。
>で、この空白はBackspaceやDeleteキーで削除できます。
>この空白を削除するにはどうすればいいのでしょうか?

正規表現のお勉強をなさっていらっしゃるということなので,
そのような方法の方が良いのかもしれませんが,このケースなら

ファイルタイプ別の設定→その他→保存するときに行末の空白を除去する

で可能だと思います.つまり,ファイルを読んでそのまま書き出すだけで
いいはずです.(ひょっとしたらダミーの編集をして更新マークをつける
必要があるかも.1 文字入れて Backspace で消す,とか.)

>一般にaaa bbbの行に空白が入っている行を
>aaabbbの様に詰めるにはどのようにするのでしょうか?

これは ENCODINGSHIFTJIS さんがお答え下さっている方法(正規表現)で
できます.

なお,どちらの作業も,例えば awk とか sed とかのツール
(というか言語)を使えば,もっとずっと楽にできると思います.

では,失礼いたします.

[ ]