|
秀丸愛用者の「でるもんた・いいじま」です。
> 1.置換対象文字列
> Nyanfi\\NyanFi
> BB
>
> ---------------------------------------
>
> 2.マクロ
> replaceallfast "Nyanfi\\NyanFi", "DYNA\\Dyna";//失敗
> replaceallfast "NyanFi\\Nyanfi", "DYNA\\Dyna", regular;//失敗
> replaceallfast "BB", "CC";//成功
> endmacro;
>
マクロの文字列の中では \ は特別な意味を持ちます。
たとえば\nが改行、\tがタブ、"..." の内側に " を入れたけれは \"、といった具合
です。
\ という文字そのものを表現する場合、\\ と2個並べてやっと1文字分になります。
なので最初の例では、
> replaceallfast "Nyanfi\\\\NyanFi", "DYNA\\\\Dyna";//これで大丈夫なはず
とします。
あるいは、最近のバージョンの秀丸では @"..." という書き方が使えますので、それ
を使って
> replaceallfast @"Nyanfi\\NyanFi", @"DYNA\\Dyna";//これでもOK
としてもいいです。
正規表現を使う場合は話がもう少し複雑で、
> replaceallfast "NyanFi\\\\\\\\Nyanfi", "DYNA\\\\Dyna", regular;//ややこしい
> replaceallfast @"NyanFi\\\\Nyanfi", @"DYNA\\Dyna", regular;//こちらを推奨
となります。
|
|