検索文字列のパターン(例)
1.<body bgcolor=”#ffffff” MARGINWIDTH=”0” MARGINHEIGHT=”0” LEFTMARGIN=”0” TOPMARGIN=”0”>
2.<body>
3.<body bgcolor=”#cccccc”>
置換え後の文字列
1.<body bgcolor=”#ffffff” MARGINWIDTH=”0” MARGINHEIGHT=”0” LEFTMARGIN=”0” TOPMARGIN=”0”><div align=”center”>xxx</div>
2.<body><div align=”center”>xxx</div>
3.<body bgcolor=”#cccccc”><div align=”center”>xxx</div>
というような、感じにしたいのですが、置換ソフトかなんかで、可能でしょうか?
検索文字列は、bodyタグ以外は、様々なパターンがあり、全てを把握できておりません。
http://www.shoshinsha.com/hp/tools/substi.htm
複数HTMLファイルの置換
URLの方法で可能ですが、こういう時のために、
スタイルシート、Java Script があります。
http://www.tohoho-web.com/css/basic.htm#Link
とほほのスタイルシート入門(基礎知識)
外部ファイルのスタイルシートを作り、
複数のHTMLファイルからそのスタイルシートを呼び出す方法。
http://www.sirmiles.com/software/repl_ace.htm
SirMiles Central Headquarters - ソフトウェア
Repl-Aceはどうでしょう?
特徴
http://www.sirmiles.com/software/repl_ace/contents/topics.htm
正規表現も使えるので様々なパターンに柔軟に対応できると思います。
ありがとうございます。そのソフトを使おうと思っています。
質問の内容のようなパターンの場合の、具体的な置換方法を教えてください。
http://www.dreamhive.co.jp/dhappli/grepreplace.html
DH-APPLI-複数行一括置換 GrepReplace : 株式会社ドリームハイブ
下方にある
GrepReplace Ver.0.0.4.94 (インストーラ形式)
あるいは
GrepReplace Ver.0.0.4.94 (ZIP形式)
のソフトで希望の作業は出来ます。
複数html同時に出来ますし、また複数行の置換も出来ます。
また多層階層(フォルダ配下のフォルダにあるファイル)にも対応出来ますし
置換にかかる時間も高速な方だと思います。
ありがとうございます。
申し訳ありませんが、ソフトの使用方法ではなく、
1.と2.と3.のパターンのような場合に一括で置換え(一度の置換えで)する方法を教えてください。
正規表現かなにかで、できるのでしょうか?
http://www.megasoft.co.jp/mifes/
テキストエディタ MIFESシリーズ-製品情報-メガソフト株式会社
ちょっと高いですけど、フォルダごとにまとめて複数ファイルの中身を一気に置換する『グローバル置換』が、このソフトならできます。ver5まではShift-JISのみ対応で、ver.6以降はUTF-8などの文字コードにも対応しています。
他にも類似のエディターがあるかもしれませんが、慣れてしまったのでこれ以外は使う気にならないですね。
http://www.megasoft.co.jp/miw7/index.html
テキストエディタ MIFES for Windows Ver.7.0-MIFESシリーズ-製品情報-メガソフト株式会社
もしかするといちいち置換するより、align=centerに相当する部分をスタイルシートで指定してしまった方が早いかも知れませんね。
http://www.hatena.ne.jp/1138429819#
人力検索はてな - 複数のhtmlファイル内の文字列を一括置換を考えています。 検索文字列のパターン(例) 1.<body bgcolor=”#ffffff” MARGINWIDTH=”0” MARGINHEIGHT=”0” LEFTMARGIN=..
アドレスはダミーです。
Repl-Aceの場合は
検索文字列を、正規表現を使用するで
(<body bgcolor=”#ffffff” MARGINWIDTH=”0” MARGINHEIGHT=”0” LEFTMARGIN=”0” TOPMARGIN=”0”>|<body>|<body bgcolor=”#cccccc”>)
置換後を
$&<div align=”center”>xxx</div>
とすればよいです。○|×が、○もしくは×という意味です。また、$&は、検索文字列がマッチした部分の文字を表します。
ありがとうございます。
参考になります。
でも、この方法だと、やはり、検索文字列のパターンを特定しないとダメですよね。
http://www.sirmiles.com/software/repl_ace/contents/regexp.htm
Repl-Ace でサポートする正規表現について
はずしているかも知れませんが。。。
Repl-Aceの場合、一度に複数の検索文字列、置換文字列を指定できるので、上記のパターンをそのまま指定すればOKのような気がしますけど。。。。
ただ厳密にやる場合にはそれぞれの検索文字列指定箇所で、正規表現を使用した方が良いと思いますが。
例えば2の場合で、<body>が行頭から始まり、末尾は改行だけであるということがあらかじめわかっている場合は検索文字列に
¥A<body>¥Z
(これはRepl-Ace独自の正規表現)
あるいはオプションのマルチラインモードをチェックしておいて
^<body>$
と指定しておくといった具合です。
Repl-Aceでの正規表現は上記のURLを参照してください。
ありがとうございます。
すみません。質問の仕方が悪いようです。
置換えしないといけないページが4000ページあり、bodyタグの後に、決められたタグを挿入したいのですが、ページによっては、bodyタグに、topmargin等が設定されていて、検索文字列を特定できません。
Sample.com - samples, free samples, giveaways, free trials, free stuff, product samples, and much more!
話は、どんな正規表現を使えばいいかという話になってきているようですが、
1<body bgcolor=”#ffffff” MARGINWIDTH=”0” MARGINHEIGHT=”0” LEFTMARGIN=”0” TOPMARGIN=”0”>
2<body bgcolor=”#ff0000” MARGINWIDTH=”5” MARGINHEIGHT=”5” LEFTMARGIN=”0” TOPMARGIN=”0”>
上記のような違いは、一つの正規表現で置換できる可能性があります。
例えば、秀丸といったテキストエディタで、その部分を置換しようとすると。
1<body bgcolor=”#ff0000” MARGINWIDTH=”5” MARGINHEIGHT=”5” LEFTMARGIN=”0” TOPMARGIN=”0”>
<p>...............</p>
2<body hohohoho......>
<p>...............</p>
3<body >
<p>...............</p>
こんなソースなら、1から3まで<body.+¥n 等とすると、削除や置換できます。
<body hohohoho......><p>...............</p>
こんなソースなら、(改行がない)とすると上のような簡単なやり方では、マッチしません。
正規表現エンジンと呼ばれるものも、いくつか種類があります。
検討中のプログラムが試用できるのであれば、まずは、テスト的に置換してみるのが早道かもしれません。
Repl-Aceにて以下のように指定すれば良いと思います。
[探索ディレクトリ:(D)]を参照して選びます。
サブフォルダも対象にするなら[サブフォルダも探す(U)]にチェックを入れておきます。
[探索ファイル名(ワイルドカード使用可):(N)]は、全ファイルを対象にする場合、何も入力せずに[探索開始(S)]ボタンをクリックします。
対象を絞りたい場合は *htm などと入力してください。
[検索文字列:(F)]
<body.*>
[置換文字列:(R)]
$&<div align=”center”>xxx</div>
[オプション:]
正規表現を使用する(E)にチェック
とした状態で下にある[一括実行(X)]をクリックすれば上記の条件を満たす置換が可能です。
<body.*>という正規表現で <body の後に任意の文字0文字以上が続いた後、 > までを表します。
ありがとうございます。
できました!
http://www.hi-ho.ne.jp/babaq/bregexp.html
�a�q�d�f�d�w�o �c�k�k
<body[^>]*>
を
$&<div align=”center”>xxx</div>
に置換すればいいのではないでしょうか。
[^>] は「> 以外の文字」という意味で、
* は、その左の文字の繰り返しを意味しますので、
<body[^>]*> は <body> にも <body align=”..”> にも
マッチします。
http://www.vector.co.jp/soft/win95/util/se162621.html
Devas(Windows95/98/Me / ユーティリティ)
回答者3ですが、3のソフトでは正規表現など対応していません。
「とにかくbodyタグの後ろに<div align=”center”>xxx</div>を挿入したい。」という
ことなんでしょうか?
それならば上記URLの「Devas」というフリーソフトではどうでしょうか。
ソフト左下のプルダウンリストを「正規表現検索」に切り替えて「検索文字列に」
<body.*?>
を入力して「検索」。これで
<body
で始まり
>
で終わる
文字列を検索できます。つまり
1.<body bgcolor=”#ffffff” MARGINWIDTH=”0” MARGINHEIGHT=”0” LEFTMARGIN=”0” TOPMARGIN=”0”>
2.<body>
3.<body bgcolor=”#cccccc”>
の他にどんなパターンのbodyタグでも検索で引っかかってくれるわけです。
次に検索結果ウィンドウにある「置換文字列に」
¥0<div align=”center”>xxx</div>
と入れて「チェックされたものを置換」ボタンを押すと<body>タグの後ろに
<div align=”center”>xxx</div>が挿入されます。
「¥0」は一致した文字列全体(つまり<body bgcolor=”#cccccc”>等のbodyタグ)を表します。
ご参考:ソフトレビュー
http://www.vector.co.jp/vpack/browse/pickup/pw5/pw005577.html
参考になりました。
ありがとうございました。
今回であれば、かつ、TextSSなら、ワイルドカードを使えばチョー簡単です
検索文字列
<body*>
置換文字列
<body*><div align=”center”>xxx</div>
なお、「<BODY *>」としても良いですね
「*」は、任意のゼロ文字または複数文字を示すワイルドカードです
ただし、検索文字列の中でワイルドカードに対応する部分を、置換文字列に挿入?する設定が必要です
TextSSでは、ワイルドカードを置換文字列にも使えるのでチョー便利です
TextSSの作者サイトは閉鎖されてしまってますが、今回であればソフト添付の説明書で解るでしょう
置換ソフトを利用したいのですが、こういう、似てはいるけど、何パターンもある検索文字列を置換えすることはできないのでしょうか?