1 件の投稿を表示中 (合計 3 個)
  • 作成者
    投稿
  • #4351
    jack_tana
    メンバー

    今、2つのファイルがあります。
    置換のためのファイルは
    亜,A
    場,BA
    差,SA
    …,…
    のような内容になっています。つまり、「,」で左の部分と右の部分が分けられています。

    もうひとつのファイルは処理しようとする、目標ファイルです。
    この目標ファイルに出ている、「 { 」 と「 } 」の中のもの(たとえば、{差})を、全部、置換のためのファイルの中の、対応する、「,」の右の部分に置換しようと思います
    例:
    …..{亜細亜と場合によって差がある}….

    ….のところに中国語の文字が来ますが、その中国語の文字には日本語と同じものがありますから、{ }内のものだけを置換します。

    いくら試してみても、うまくできませんでした。この場合は、EMEDITORは処理してくれますか。どういう手順で修理できるのでしょうか。
    ぜひお教えくださるようお願いします。

    #4353
    ShuHei
    メンバー

    多分こんなんで出来るんじゃないでしょうか?
    この処理にはEmeditor Professionalが必要です。

    1.既に作ってある置換リストを

    {target:”亜”,rep:”A”},
    {target:”場”,rep:”BA”},

    という形式に直します。
    因みに正規表現で置換をすれば簡単にこの形式に直せます。

    検索する文字列:^(.*)?,(.+)
    置換後の文字列:{target:”1″,rep:”2″},

    2.下のコードの2行目から5行目を
    先ほど修正した置換リストの内容に置き換え
    replace.jseeという名前で保存します。

    list = [
    {target:”亜”,rep:”A”},
    {target:”場”,rep:”BA”},
    {target:”差”,rep:”SA”},
    {target:”西”,rep:”NISHI”},
    ]

    document.selection.SelectAll();
    regexp = new RegExp(“(?:{)(.+?)(?:})”,”g”);
    document.selection.Text = document.selection.Text.replace(regexp,
    function(target){
    for(var n in list){
    target = target.replace(list[n].target,list[n].rep);
    }
    return target;
    }
    );

    3.置換したい文章を開いてreplace.jseeを実行すればOK

    置換リストの部分を変更すれば色々と応用が出来るので
    試してみてください。

    #4356
    jack_tana
    メンバー

    ShuHei 様
     ご丁寧に指導してくださいまして、本当にありがとうございました。ShuHei 様の方法で試してみて、期待していた結果が出てきました。大変助かりました。再び感謝します。

1 件の投稿を表示中 (合計 3 個)
  • このトピックに返信するにはログインしてください。