お教え下さい!No.08124
ころ太 さん 16/06/07 15:46
 
マクロで文字列置換をしていたら、以下の現象が発生!

------------------------------------------
【マクロ】
// 全角文字に挟まれた全角ピリオドを「.」→ 「。」に置換する
replaceallfast "([^\x01-\x7E]).([^\x01-\x7E])","\1。\2",regular;

【元データ】
,.,.;;::@@^^−−
,,..;;::@@^^−−

【置換後のデータ】
1。2.;;::@@^^−−
,1。2;;::@@^^−−
------------------------------------------

なぜ、こうなるのでしょうか?
正規表現に問題が? マクロに問題?
バグでしょうか?
教えてください! よろしく (>_<)

ころ太

[ ]
RE:08124 お教え下さい!No.08125
山紫水明 さん 16/06/07 19:55
 
 ころ太さん,

>// 全角文字に挟まれた全角ピリオドを「.」→ 「。」に置換する
>replaceallfast "([^\x01-\x7E]).([^\x01-\x7E])","\1。\2",regular;

マクロで使うときは
replaceallfast "([^\x01-\x7E]).([^\x01-\x7E])","\\1。\\2",regular;
とします。
                    山紫水明

[ ]
RE:08125 お教え下さい!No.08126
ころ太 さん 16/06/07 23:01
 
山紫水明さま早々有難うございます。

\\1 〜 にすればOKでした。

急いでマクロを作っていたので、初歩的なミスをしていました。

お手数をかけてすみません。

今後とも、よろしくお願いいたします。

ころ太


[ ]