◀一般トップへ
  • 1906 置換について
    • 2001 RE: 置換について
      • 2006 Re2: 置換について
  • [1906] 置換について ootomo 2002年05月23日 13:32

    こんなの発見しました。

    ①置換ダイヤログボックスで、正規表現と選択始点(1)挿入
     にチェックする。
    ②置換前文字列を「.*」、置換後文字列を「abcd 」にする。
    ③置換ボタンを押下。

    全ての行の先頭に「abcd 」が挿入されるかなと思ったんで
    すけど、何も起こりませんでした。
    一応、どの行も検索対象色に変化していたんで、検索には引
    っかかっていたみたいです。

    とりあえず報告まで、では。
    • [2001] RE: 置換について みく 2002年06月10日 22:48


      ootomoさんがあげた例だけでなく、
      正規表現指定したときの置換対象は「選択文字」以外はNGのようです。
      とりあえず、置換後文字列に"abcd$1"+「選択文字」を指定しましょう。

      -----
      プログラム的には、検索にヒットすると、、、
      (・検索ヒット文字列は無視する。)
      ・挿入位置にカーソルを持っていく。
      ・対象文字列長0(挿入なので)で置換を行おうとする(この時点で正規表現の置換対象文字列がないのでNG)。
      (".*"は空文字列にはヒットしない)
      ・置換対象文字列を空にしたのでSubstにNULLポインタが渡る(この時点でもNG)。
      ・bregexpはNULLポインタまたは空文字では"invalid target parameter"エラーになる。
      ・置換はされない。
      となります。

      対処としては、
      ・「挿入」のときは、置換後文字列を"abcd$1"のように後ろに"$1"を付与する。
      ・「選択文字」として置換処理を行う。
      というのが正解でしょう。
      • [2006] Re2: 置換について ootomo 2002年06月11日 13:32

        ootomoです。

        解答有難うございました ^^);

        では。