「」の中の記号を置換No.08413
JJ99999 さん 16/10/12 12:00
 
「」の中に「」がある場合、中の「」を指定の機種依存文字に変換したいと考えてお
ります。


・サンプル1
「aaaaa「iiii」a「iii」aaa」

      ↓

「aaaaaiiii‖iii‖aa」

---------------------------------

・サンプル2
「aaa「aa「iiii」a「iii」aa」a」

      ↓

「aaaaaiiii‖iii‖a‖」

---------------------------------

※「」の中にある「」の数は変動します。



( を  \u301D に変換

) を =@\u301F に変換

何卒よろしくお願いいたします。

[ ]
RE:08413 「」の中の記号を置換No.08414
JJ99999 さん 16/10/12 12:01
 
>「」の中に「」がある場合、中の「」を指定の機種依存文字に変換したいと考えて
>おります。
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
>何卒よろしくお願いいたします。

ごめんなさい文中に誤りがありました。

「 を  \u301D に変換

」 を =@\u301F に変換

[ ]
RE:08414 「」の中の記号を置換No.08416
秀まるお2 さん 16/10/12 18:10
 
replaceallfast "(?<=「[^「」]*(「[^「」]*」)*[^「」]*)(「)([^「」]*)(」)", "
\\2", regular;

 の1文でいけると思います。

「aaaaa「iiii」a「iii」aaa」       「aaaaa「iiii」a「iii」aaa」

 ↓

「aaaaaiiii‖iii‖aa」       「aaaaaiiii‖iii‖aa」

 になりました。

[ ]
RE:08416 「」の中の記号を置換No.08417
JJ99999 さん 16/10/13 14:46
 
>replaceallfast "(?<=「[^「」]*(「[^「」]*」)*[^「」]*)(「)([^「」]*)(」)",
>"\\2", regular;
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
> になりました。

早速ご対応頂きありがとうございます。
サンプル2の場合、マクロ2回目で理想通りになりました。
2度掛けすればよいので、私としては全然問題ないのですが念の為確認させて頂きま
した。

・サンプル2
「aaa「aa「iiii」a「iii」aa」a」

       ↓ マクロ1回目

「aaa「aaiiii‖iii‖a」a」

       ↓ マクロ2回目

「aaaaaiiii‖iii‖a‖」


[ ]
RE:08417 「」の中の記号を置換No.08418
秀まるお2 さん 16/10/13 15:13
 
 すみません。サンプル2の方は完全に見逃してしまってました。

 括弧が3重のケースはあえて変換しないような作りにしてしまってました。

 とりあえずマクロ2回通す作戦というか、同じ置換を2回繰り返すようにマク
ロを直す作戦でいけるようなので、それで良しってことでお願いします。

[ ]
RE:08418 「」の中の記号を置換No.08419
JJ99999 さん 16/10/13 16:20
 
> すみません。サンプル2の方は完全に見逃してしまってました。
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
>ロを直す作戦でいけるようなので、それで良しってことでお願いします。

ありがとうございます。
とても助かりました。

[ ]
RE:08419 「」の中の記号を置換No.08420
山紫水明 さん 16/10/13 18:26
 
 JJ99999さん,

 次のように2行のマクロにすると,3重,4重とカッコが何重あっても置換で
きるようです。
replaceallfast "(?<=「.+)「", "\u301d", regular;
replaceallfast "(?=.+」)」", "\u301e", regular;

                    山紫水明
                    SANSHISUIMEI

[ ]
RE:08420 「」の中の記号を置換No.08421
JJ99999 さん 16/10/13 18:53
 
> JJ99999さん,
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
>                    SANSHISUIMEI

素晴らしい。
動作確認出来ました。
ありがとうございます。

[ ]
RE:08421 「」の中の記号を置換No.08422
山紫水明 さん 16/10/13 20:17
 
 JJ99999さん,

「「aaa」a「iii」」
のようにカッコが続く場合のことを考えると,

replaceallfast "(?<=「.*)「", "\u301d", regular;
replaceallfast "(?=.+」)」", "\u301e", regular;

とした方がよさそうです。

                    山紫水明

[ ]
RE:08422 「」の中の記号を置換No.08423
JJ99999 さん 16/10/14 14:06
 
> JJ99999さん,
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
>                    山紫水明

検証頂きありがとうございます。
大変助かりました。

[ ]