Eclipseで複数行の検索・置換を行う方法

otaguro 2,101views 更新:2014年11月4日
  1. Ctrl+Hで検索のダイアログを開く
  2. 正規表現のチェックボックスにチェックを入れる
  3. 正規表現の予約語をエスケープし、改行コードを\\Rに書き換えた文字列を「含まれるテキスト」に入力して検索する(次のjavascriptで置換できます)
<html>
<head><title>Do</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
<body>
<script language="JavaScript">
function doScript(val){

 array1=val.split(/\r?\n/g);
 for (var i = 0; i < array1.length; i++) {
    array1[i]=array1[i].split("\\").join('\\\\');
    array1[i]=array1[i].split("*").join("\\*");
    array1[i]=array1[i].split("+").join("\\+");
    array1[i]=array1[i].split(".").join("\\.");
    array1[i]=array1[i].split("?").join("\\?");
    array1[i]=array1[i].split("{").join("\\{");
    array1[i]=array1[i].split("}").join("\\}");
    array1[i]=array1[i].split("(").join("\\(");
    array1[i]=array1[i].split(")").join("\\)");
    array1[i]=array1[i].split("[").join("\\[");
    array1[i]=array1[i].split("]").join("\\]");
    array1[i]=array1[i].split("^").join("\\^");
    array1[i]=array1[i].split("$").join("\\$");
    array1[i]=array1[i].split("-").join("\\-");
    array1[i]=array1[i].split("|").join("\\|");
    array1[i]=array1[i].split("/").join("\\/");
 }

 val2=array1.join("\\R");
 document.getElementById('result').value =val2;
}
</script>

<form id="editor" action="/search" method="GET" onsubmit="doScript(this.val.value);return false;">
  <textarea name="val" > 置き換えたい文字</textarea>
  <input type="submit" value="DoScript">


<textarea id="result">出力</textarea>

同様に、置換の場合でも正規表現の予約語と改行コードの書き換えで複数行の置換を行うことが出来ます。
下記のサイトを参考にさせていただきました。
http://hodade.adam.ne.jp/seiki/page.php?study_escape

コメント

  1. otaguro のコメント (2015年6月17日)

    Javascriptの文字列では、改行コードはエスケープして書くので\\Rですが、
    直接入力する場合は、\Rになります。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません