1 件の投稿を表示中 (合計 2 個)
  • 作成者
    投稿
  • #4359
    匿名
    ゲスト

    改行コード混在で、\n を \n で置換すると、改行コードが一行ずつずれておかしくなります。

    if(!editor.EnableTab) {
    alert( ‘EnableTab!!!!!’);
    Quit();
    }

    editor.NewFile();
    var crlf = ‘crlfcrlfcrlfrncrlfcrlfcrlfrncrlfcrlfcrlfrn’;
    var lf = ‘lflflfnlflflfnlflflfn’;
    var cr = ‘crcrcrrcrcrcrrcrcrcrr’;

    document.write(crlf+lf+cr+crlf+lf+cr);
    alert(‘改行コード確認’);

    document.selection.Replace(
    “(..)n”,
    “U1n”,
    eeFindNext | eeFindReplaceEscSeq | eeReplaceAll | eeFindReplaceRegExp
    );
    alert(‘改行コードがずれてる’);

    #4361
    匿名
    ゲスト

    よく考えてみると、置換文字列の n が何を表すかの根本的問題がありますね。 検索置
    換では、CRLF LF CR いずれも n でひとくくりなので、改行コード混在可能状況下で区
    別しようがないという。置換文字列に n を指定してしまうと、それが CRLF LF CR のど
    れか特定しようがないですね。

    ただ、少し工夫して置換文字列で n をしてせず、後方参照させても同じ問題になるよう
    なので、これは後方参照内で、CRLF LF CR を区別できないのでしょうか?

    document.selection.Replace(
    “(..)(n)”,
    “2U1”,
    eeFindNext | eeFindReplaceEscSeq | eeReplaceAll | eeFindReplaceRegExp
    );

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