特定文字列間の文字列を削除(置換?)整形No.06444
alfee_second さん 10/09/23 17:48
 
Google Chrome使っててセッションのメモを秀丸でまとめてるのですが、
以下の感じで10数行あるものをマクロで自動整形させたいのですが
どうすればいいでしょうか?


Title: FreshStart - Google 検索
Url: http://www.google.com/search?q=FreshStart

Title: FreshStart - Cross Browser Session Manager - Google Chrome 拡張機能ギ
ャラリー
Url: https://chrome.google.com/extensions/detail/nmidkjogcjnnlfimjcedenagjfa
cpobb?hl=ja

Title: Welcome to FreshStart
Url: http://www.visibotech.com/FreshStart/welcome.html


http://www.google.com/search?q=FreshStart
https://chrome.google.com/extensions/detail/nmidkjogcjnnlfimjcedenagjfacpob
b?hl=ja
http://www.visibotech.com/FreshStart/welcome.html

上をこんな感じに URLだけのlist化したいんです。
Title: の直後から Url: http://の直前の文字間を *指定での正規表現で削除して
整形すれば出来そうなのですが、
よくわかりません
マクロの作成方法を教えてください

[ ]
RE:06444 特定文字列間の文字列を削除(置No.06445
Iranoan さん 10/09/23 18:09
 
 alfee_second さん今日は、Iranoan です。
> Title: FreshStart - Google 検索
> Url: http://www.google.com/search?q=FreshStart
<snip>
> http://www.google.com/search?q=FreshStart
> https://chrome.google.com/extensions/detail/nmidkjogcjnnlfimjcedenagjfacpob
> b?hl=ja
> http://www.visibotech.com/FreshStart/welcome.html
>
> 上をこんな感じに URLだけのlist化したいんです。
> Title: の直後から Url: http://の直前の文字間を *指定での正規表現で削除して
> 整形すれば出来そうなのですが、
 仰るように、正規表現の置換だけで出来ると思います。
検索文字列:Title: .+\nUrl: \fhttps?://.+\f\n
置換文字列:\1

 検索文字列は、\f で区切る以外に、() で括る方法でも同様です。

[ ]
RE:06444 特定文字列間の文字列を削除(置No.06446
秀まるお2 さん 10/09/23 18:19
 
 1.「http://」または「https://」を含まない行は削除する。
 2.「http://」または「https://」よりも前にある内容は削除する。

 というルールで置換するとしたら、

   replaceallfast "(?!(.*)(http|https)://)^.*\\n", "", regular, nocasesense;
   replaceallfast "^(.+)((http|https)://)", "\\2", regular, nocasesense;

 という置換でいけると思います。

[ ]
RE:06445 特定文字列間の文字列を削除(置No.06448
alfee_second さん 10/09/23 20:01
 
Iranoan さん、秀まるおさん こんにちは。

>> 上をこんな感じに URLだけのlist化したいんです。
>> Title: の直後から Url: http://の直前の文字間を *指定での正規表現で削除して
>> 整形すれば出来そうなのですが、
> 仰るように、正規表現の置換だけで出来ると思います。

>検索文字列:Title: .+\nUrl: \fhttps?://.+\f\n
>置換文字列:\1
これをそのまま 手動でメニューバーから検索文字列 置換文字列を
それぞれの入力させれば置換自体は出来ました ありがとうございます

正規表現の表現はまだスマートな記述に詰めれるにして、
肝心のマクロ記述がうまく出来ませんでした。

 setcompatiblemode 0x0F;
 saverecord;
 REGISTMACRO;
 undo;
 undo;
 undo;
 undo;
 undo;
 redo;
 redo;
 insertreturn;
 insertreturn;

マクロの記録開始〜終了で作業を記録させて
レコード記述から 改造してマクロを作成しようとしたのですが、
ここでつまずきました。orz




[ ]
RE:06448 整形させるマクロが出来ましたNo.06449
alfee_second さん 10/09/23 20:11
 
>マクロの記録開始〜終了で作業を記録させて
>レコード記述から 改造してマクロを作成しようとしたのですが、
>ここでつまずきました。orz
どうやら記録ミスだったみたいで、
何回か録画をやり直すとうまく記録出来てました。


 setcompatiblemode 0x0F;
 begingroupundo;
 replaceall "title: .+\\nurl: \\fhttps?://.+\\f\\n" , "\\1" , regular, nocas
esense;
 if( ! result )  beep;
 endgroupundo 1;

Iranoan さん、秀まるおさん アドバイスありがとうございます

[ ]
RE:06446 マクロ記録の状態は どこで確認No.06450
alfee_second さん 10/09/23 20:17
 
> 1.「http://」または「https://」を含まない行は削除する。
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
> という置換でいけると思います。

> 1.「http://」または「https://」を含まない行は削除する。
こういうやり方もあるのですね、まったく思いつきませんでした、
勉強になります。

ところでマクロの操作の記録に失敗したのですが、
いま『記録中』なのか『記録の終了』が済んだのか、
どこで状態を確認すればいいのでしょうか?
操作ボタンやインジケーターみたいに表示できるのでしょうか?
ヘルプの検索したのですが みつかりませんでした、
よろしくお願いします


[ ]
RE:06450 マクロ記録の状態は どこで確認No.06451
h-tom さん 10/09/23 21:26
 

h-tom です。

>ところでマクロの操作の記録に失敗したのですが、
>いま『記録中』なのか『記録の終了』が済んだのか、
>どこで状態を確認すればいいのでしょうか?

ヘルプに書いてあるとおり、ウィンドウのキャプション(ファイル名が表示され
ている所)が、変わりますよ。
> 記録開始/記録終了
>  キー操作を記録するためのコマンドです。実行すると記録状態となり、
> ウィンドウの上に「記録中!」という表示が出ます。もう一度実行すると
> ウィンドウ上の「記録中!」が消えます。記録された操作は、「再生」コ
> マンドで再生できます。

[ ]
RE:06451 マクロ記録の状態は どこで確認No.06452
alfee_second さん 10/09/23 23:34
 
h-tom さん こんにちは

>ヘルプに書いてあるとおり、ウィンドウのキャプション(ファイル名が表示され
>ている所)が、変わりますよ。
ウィンドウの上部のタイトルが変化してますね。気付きました。

秀丸エディタ本体の方のへルプに乗ってたんですね、
必死に秀丸マクロへルプの方を探してました。orz

[ ]