マクロで\nを含む置換No.01814
はら さん 98/10/10 15:07
 
えっと、
メニューから「編集」「置換」(正規表現使用)で、
"。\n "を"。<br>\n "に置換することは出来るのですが、
マクロで、
replaceall "。\n ","。<br>\n ",regular; や
replaceallfast "。\n ","。<br>\n ",regular; ができません。
ちょっと試してみたら、searchdown等でも
"。\n "を見つけられないみたいです。

どうすればいいでしょうか?

[ ]
RE:01814 マクロで\nを含む置換No.01815
杉浦 まさき さん 98/10/11 00:38
 
はらさん、こんばんは。
 杉浦 まさき と申します。

>メニューから「編集」「置換」(正規表現使用)で、
>"。\n "を"。<br>\n "に置換することは出来るのですが、
>マクロで、
>replaceall "。\n ","。<br>\n ",regular; や
>replaceallfast "。\n ","。<br>\n ",regular; ができません。

replaceall "。\\n","。<br>\\n  ",regular;

等のように、円記号を2つ重ねて下さい。
 #マクロ中で円記号を含む文字列を書く時の一般ルール。


[ ]
RE:01814 マクロで\nを含む置換No.01816
ひろ さん 98/10/11 22:45
 
 はらさん今日は、ひろです。
> ちょっと試してみたら、searchdown等でも
> "。\n "を見つけられないみたいです。
 macro の中でも「\」は escape sequence になっていますので、macro の
中で「\」を表すには「\\」と書く必要があります。そこで、
replaceall "。\\n ","。<br>\\n ",regular;
等とする必要があります。

[ ]
RE:01815 マクロで\nを含む置換No.01817
はら さん 98/10/12 02:45
 
杉浦さん、ひろさん、どうもです。
確かにそうなりました。

応用で、
"\(改行)"を検索するためには、
"\\\\\\n"って書くわけですよね。

これ、次回以降のバージョンで、
ヘルプのどこかに書いておいていただけないでしょうか?
>担当者様。

[ ]
RE:01817 マクロで\nを含む置換No.01820
杉浦 まさき さん 98/10/13 00:00
 
はらさん、こんばんは。
 杉浦 まさき です。

>応用で、
>"\(改行)"を検索するためには、
>"\\\\\\n"って書くわけですよね。

正規表現検索の場合はそれでOKだと思います。

>これ、次回以降のバージョンで、
>ヘルプのどこかに書いておいていただけないでしょうか?

マクロヘルプの「式について」->「文字列」に
 書いてありますが…。
 #この会議室とマクロ会議室でも
  大体1ヶ月に1回ぐらいの割合(^^;で
  似た様な質問がでてます。
 ##Web ブラウザ上で使える過去ログ検索機能が欲しい所ですが(^^;。
   (あったらごめんなさいm(_ _)m>秀ネット担当様)


[ ]
RE:01820 マクロで\nを含む置換No.01821
秀丸担当 さん 98/10/13 17:46
 
> ##Web ブラウザ上で使える過去ログ検索機能が欲しい所ですが(^^;。
>   (あったらごめんなさいm(_ _)m>秀ネット担当様)

いちおう「秀ネットレコーダー」を使って記録しておけば、
ローカルのハードディスクにあるファイルをgrepすることで検索可能です。
でも面倒ですね。

[ ]
RE:01820 マクロで\nを含む置換No.01843
はら さん 98/10/19 00:18
 
ども、杉浦さん、こんばんは。

>マクロヘルプの「式について」->「文字列」に
> 書いてありますが…。
えっ?
あれは正規表現に関する説明じゃありませんよね。
僕にはあれだけでは、\\を\\\\と書かなければいけないとは
読めないのですが、どういう風に組み合わせて読むのでしょう?
#あ、WebのほうのFAQ集は後になって見ましたので、
#動作原理じゃなくて、読みかただけ教えていただければ
#今後のマニュアル解読の参考になってありがたいです。

マクロでやる事って、メニューの組み合わせを
自動でやる事だと思ってたので、
マクロとコマンドで動作が違うことがあるというのが
意外だっただけなんですが。


[ ]
RE:01843 マクロで\nを含む置換No.01844
杉浦 まさき さん 98/10/19 00:47
 
はらさん、こんばんは。
 杉浦 まさき です。

>あれは正規表現に関する説明じゃありませんよね。
>僕にはあれだけでは、\\を\\\\と書かなければいけないとは
>読めないのですが、どういう風に組み合わせて読むのでしょう?

正規表現の方でしたか…どもすみませんです。
 で、そっちは秀丸本体のヘルプの
 「検索系コマンド」->「検索」->「正規表現」
 に載ってますが。
 #これとマクロの文法を組み合わせると…って、
  やっぱし最初は戸惑いますよね、ふつー(^^;。

>#あ、WebのほうのFAQ集は後になって見ましたので、

そりゃありがたいですm(_ _)m。
 #制作に関わってるもんで一応お礼を(^^;。

>マクロでやる事って、メニューの組み合わせを
>自動でやる事だと思ってたので、
>マクロとコマンドで動作が違うことがあるというのが
>意外だっただけなんですが。

うーん、基本的にはそうなんですが…
 マクロ内部で文字列の中に改行とかタブコードを
 表現するためにはいずれかの文字に犠牲(^^;に
 なってもらわないと、ということで。
 #正規表現のエスケープキャラクタも円記号というのが
  ちょっとメンド臭い所ですけど(^^;。
  でも、こっちはこっちで歴史があるしなぁ…と。

 

[ ]
RE:01844 マクロで\nを含む置換No.01854
はら さん 98/10/20 16:40
 
はら です。
杉浦 まさき さん、こんにちは。

> #これとマクロの文法を組み合わせると…って、
>  やっぱし最初は戸惑いますよね、ふつー(^^;。
 マクロヘルプと、秀丸ヘルプって、
 同じ方が書かれていらっしゃるんですよね、たしか。

> マクロ内部で文字列の中に改行とかタブコードを
> 表現するためにはいずれかの文字に犠牲(^^;に
> なってもらわないと、ということで。
それは、プログラムの仕様によって変わるんじゃないかなあ、と。
秀丸の場合、正規表現の取り扱いは外部のDLLにまかしてるから、
たぶん、正規表現の時は""内を加工せずにDLLに渡すのも
仕様としてあり得たんじゃないかなあ、という。

でも、今更こんな根底の部分を変更するなんて、
過去のマクロ資産を考えても無理な話だとも思うので、
これって、単なる愚痴でしかありません。

で、「せめてヘルプに一言でも」になったわけです。

[ ]
RE:01854 マクロで\nを含む置換No.01863
秀丸担当 さん 98/10/20 18:31
 
>で、「せめてヘルプに一言でも」になったわけです。

そうですね。
ヘルプにもう少し詳しく書くことにします。

[ ]