特定の単語の削除No.18145
h_0714 さん 04/10/17 23:26
 
お世話になります。

今回は、下記のテキストが200行ほどあって、単語間はTABで飛ばしているのですが、
左から、5・6・12〜17番目を削除する方法を教えていただけますでしょうか。

また、秀丸は普通にテキスト入力ぐらいしか使用したことがないので、
HP等でマクロやコマンドを勉強できる場所があれば教えてください。

内容例)
01 1116381537 helvetica         20040525 040550 659246 474948 00000000001174
9 000000000559 000000000011190 005 01 02 01 001 230347301W1

よろしくお願い致します。

[ ]
RE:18145 特定の単語の削除No.18146
Kamonohasi さん 04/10/18 00:07
 
>今回は、下記のテキストが200行ほどあって、単語間はTABで飛ばしているのですが、
>左から、5・6・12〜17番目を削除する方法を教えていただけますでしょうか。
タブ区切りファイルならなにも秀丸を使わなくてもExcelなんかのほうが使い勝手が
良いとは思います。

>また、秀丸は普通にテキスト入力ぐらいしか使用したことがないので、
>HP等でマクロやコマンドを勉強できる場所があれば教えてください。
どのレベルの方なのかいまいち分かりかねますので、コレというのはないですが、マ
クロライブラリの作者さんのサイトへ行かれてはいかがでしょうか。
かなり多くの人が各種レベルのマクロ解説などのコンテンツやそこへのリンクを持っ
ていまらっしゃいます。

上だけではなんだかたんなる世間話になってしまうので……。
せっかくですから「キー操作の記録」を活用する方法を。
カーソルを行の頭に持って行って「記録開始」をしたら検索(正規表現をON)で「\t」
を検索。
削除したい単語の直前まで「F3」などで進む。
カーソルを一つ左に動かす。
Ctrlを押しながら右に一文字動かす(一文字選択する)。
もう一回「F3」で次ぎのタブまで選択範囲を広げる。
タブキーを入力。
タブを消したいならここで消す。
削除したいのが行からなくなったら下の行の行頭までいってから
「記録終了」
で「キー操作の再生」をファイルの最後までかける。

マクロは組めなくても大抵のことはキー操作の記録でなんとかなっちゃいますよ。ま
ぁ↑の例はフィールドに一文字は最低ある場合しかだめですが(笑)

[ ]
RE:18145 特定の単語の削除No.18148
三月 さん 04/10/18 06:28
 
>また、秀丸は普通にテキスト入力ぐらいしか使用したことがないので、
>HP等でマクロやコマンドを勉強できる場所があれば教えてください。
>
とりあえず、マクロをはじめるにあたってマクロヘルプの
「秀丸マクロの概要
 マクロを初めて作成する方はこちらへ...」
から読むと良いのではないでしょうか?

ちょっと古くなってきてますが、基本的なことは変わって無いので
「秀丸公式マニュアル Ver3.19対応版」を購入してみるのも良いかもしれません。


[ ]
RE:18145 特定の単語の削除No.18149
IKKI さん 04/10/18 08:05
 
IKKI です。おはようございます。

> 今回は、下記のテキストが200行ほどあって、単語間はTABで飛ばしているのですが、
> 左から、5・6・12〜17番目を削除する方法を教えていただけますでしょうか。

18番目以降がないのであれば、正規表現置換

  検索: (.*?\t){4}\f(.*?\t){2}\f(.*?\t){5}\f.*$
  置換: \0\2

で行けそうですね。
(上の書き方は秀丸 v4.00 以降+ HmJre.dll でしか使えません)

[ ]
RE:18149 特定の単語の削除No.18150
h_0714 さん 04/10/18 11:18
 
>> 今回は、下記のテキストが200行ほどあって、単語間はTABで飛ばしているのですが、
>> 左から、5・6・12〜17番目を削除する方法を教えていただけますでしょうか。
>
>18番目以降がないのであれば、正規表現置換
>
>  検索: (.*?\t){4}\f(.*?\t){2}\f(.*?\t){5}\f.*$
>  置換: \0\2
>
>で行けそうですね。
>(上の書き方は秀丸 v4.00 以降+ HmJre.dll でしか使えません)

ご回答ありがとうございました。
単語間がタブではなく、スペース(半角)の際には
上記記述はどうなりますでしょうか?

よろしくお願い致します。

[ ]
RE:18150 特定の単語の削除No.18157
IKKI さん 04/10/18 20:23
 
h_0714 さん、こんばんは。 IKKI です。

> >18番目以降がないのであれば、正規表現置換
> >
> >  検索: (.*?\t){4}\f(.*?\t){2}\f(.*?\t){5}\f.*$
> >  置換: \0\2
> >
> >で行けそうですね。
>
> ご回答ありがとうございました。
> 単語間がタブではなく、スペース(半角)の際には
> 上記記述はどうなりますでしょうか?

「\t」を「 」に変えます。
連続したスペースも1つの区切りと見なすなら「 +」です。


h_0714 さんは勉強熱心な方とお見受けします。
正規表現やマクロについて参考になるサイトをいくつか挙げますので
お時間のあるときに読んでみることをおすすめします。

睡人亭 - 秀丸エディタを使いこなす(山田崇仁さん)
http://www.shuiren.org/chuden/teach/hidemaru/

お笑い(^^; マクロど〜じょ〜 (杉浦まさきさん)
http://www.ceres.dti.ne.jp/~sugiura/hidemaru/lesson/

秀丸エディタ Q&A 集
http://homepage2.nifty.com/jr-kun/hidemaru_qa/


# 改めて見ると、秀丸エディタ Q&A 集も内容が古くなってきましたね…。(^^;

[ ]