• 締切済み

複数テキストファイルの文字列を一括で置換えしたい

文字列の置換についての質問です。 複数のhtmlファイルのソースを一括で変換したいと考えております。 以下のようにしたいです。 ■変更前 <html> <head> <title>AAA</title> </head> <body> gooさん。宜しくお願い致します。 </body> </html> ■変更後 <html> <head> <title>AAA</title> </head> <body> AAAさん。宜しくお願い致します。 </body> </html> 要は <title>○○○</title>に挟まれている○○○文字列を gooの所に置換えしたいという事なのですが、 問題なのは複数ファイルがあり、 <title>○○○</title>の○○○の部分は各ファイル全て異なるという事です。 gooの所は全て同一です。 speeeeedなど一括置換えソフトを使用して変換しようとしましたが うまくいきませんでした。 どなたか分かりましたらご教授お願い致します。

  • HTML
  • 回答数3
  • ありがとう数0

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

goo→AAAの置き換えが一箇所だけしかないのなら、speeeeedを使って 正規表現による検索・置換を有効にしたうえで 検索文字列: (<title>(.*?)</title>(?:.|[\r\n])*?)gooさん。 置換文字列: $1$2さん。 でできました。 置換対象(goo)が複数箇所あるようなら、既存のこの手のツールでは無理だと思います。 ところでbodyタグの中身に直接地の文を書いてますけど、これはHTML的にはよくないような? あと「ご教授」→「ご教示」です。

回答No.2

Excelをお持ちでしたら、いっそExcelに貼り付けて置換してしまうとか・・。 1.HTMLの本文をA1からのA列に貼り付け 2.B1に関数を貼り付け =IF(LEFT(A1,3)="goo",SUBSTITUTE(A1,"goo",MID($A$3,8,LEN($A$3)-15)),A1) 3.B列をコピーしてテキストファイルに貼り付け 例の通りに入れてみました。 LEFT(A1,3)="goo" の部分は頭の3文字がgoo という意味なので 任意の文字列に書き換えて下さい。 SUBSTITUTE(A1,"goo"  の部分は gooという文字列を <Title>と</Title>に囲まれた文字列に書き換えるという意味ですので こちらも任意の文字列に書き換えて下さい。

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★『VBScript』などの言語を使えば出来ますが…。 ・『VBScript』でスクリプトを作れますか? ・知らないとなると、ちょっと大変かもね。 ・質問のような処理は、ちょっと複雑ですので簡単にソフトなどで1発で行えないと思うよ。 ・今日は時間がありませんので、他の回答者さんにスクリプトを作ってくれない、とお願いしましょう。 ヒント: ・『<title>』行を検索します。 ・『<title>』~『</title>』で囲まれた文字列を変数に保存します。 ・『さん。宜しくお願い致します。』の行を検索します。 ・最初の『AAA』のような文字列を保存してあった文字列に置き換えます。 ・以上の仕組みを基本に一時ファイル(temp.html)に出力して、スクリプト内でファイルのコピー  を上書きで書き戻せば出来ます。 ・ファイルがたくさんあるようなので、スクリプト内でファイル名の検索を行って変換します。 ・以上。おわり。→日曜日の昼までに解決していなければ、スクリプトを作ってみます。

conejo
質問者

補足

ご回答有難う御座います。 VBScriptは一度も使った事ないです。 あっあと、わざわざスクリプトを作成頂かなくても大丈夫ですよ。 正規表現検索を使ってなんとかできませんかね???

関連するQ&A

  • 複数のテキストファイルの一括置換について

    複数のテキストファイルの一括置換について 複数のテキストファイル(html)の中にある 【地域名】という文字列を一括でそれぞれA、B、C・・・・という風に異なる文字列に変換したいです。 たとえば 001/index.html の中にある【地域名】は北海道 に変換 002/index.html の中にある【地域名】は青森 に変換 ・ ・ ・ 変換前の文字列は同一ですが、変換後の文字列を全ファイル異なるものにしたいので秀丸等の一括置換ができずに困っています。 全ファイル開いて1つ1つ検索置換していくには2000ファイルほどあるので大変なので何かいい案はないでしょうか? よろしくお願いいたします。

  • 複数のファイル 改行が入った文字列の一括変換

    改行が入って複数行にわたる文字列を 複数のファイルを対象にして 一括変換するツールは ありませんでしょうか。 一行だけの文字列では 「ファイルから置換」を使っているのですが、 複数行を対象にした置換をする方法がわからないのです。

  • ディレクトリ内の複数のテキストファイルの文字列を、一括置換する方法について

    ディレクトリ内にある複数のcgiファイルの文字列を一括で置換する方法について教えてください。 置換前文字列 jcode.pl ↓ 置換後文字列 ../../jcode.pl 対象ファイル 以下のように、/cgiディレクトリ内に複数のcgiファイルがあります。 /web └/cgi --└ 01.cgi --└ 02.cgi --└ 03.cgi --└ 04.cgi --└ 05.cgi ただし、所有者とパーミッションを変更せずにしたいのです。 sedコマンドを試しましたが、オプションについてよくわからないため、上手く行きませんでした。 (所有者がrootに変更となったり、また、別ファイル名で保存しないと、上手く行きませんでした。) どなたか、ご指南宜しくお願い致します。

  • 複数の文字列を同時に置換できるソフト

    こんにちは。 複数の文字列を一括で置換できるソフトで、 以下の条件に合ったソフトを探しております。 (1)HTMLファイルが読み込める。 (2)複数の文字列を同時に一括置換できる(複数行を対象に)。 (↑あらかじめ置換したいリストを作成・登録する形に なるのかもしれません。) (3)さらに複数のファイルで同時に置換できる。 上記の(1)、(2)は必須になります。 可能であれば、(3)ができれば大変助かります。 ・・以上のようなフリーソフトはありますでしょうか? ご回答よろしくお願い致します。

  • 複数ファイルの文字列を一括置換するソフトについて

    win98SEを利用しています。 複数のテキストファイルに含まれる文字列を別の文字列に変換してくれるツールはないでしょうか? たとえば、”あいうえお”を”かきくけこ”に変換してくれるようなものです。 某エディタの置換機能で出来ないこともないのですが、ファイルを開いた状態でなければできないので、数が多い場合に難有りなので。 フリーのソフト有りましたら教えてください。

  • ファイルを開かずにテキストファイルの文字列置換

    続けての投稿で申し訳ないのですが、複数のフォルダ中のテキストファイルすべての中身を検索してある文字列を置換する方法を教えてください。 行いたい作業例ですが、 1)ABC- → ABC-   ある特定の半角文字列+"-"を全角に変換 2)2ー → 2-      ある特定の文字列+"ー(全角の長音)"を文字列+"-(全角のマイナス)"に 3)192.168.0.?? → ABC0?? にしたいです。 フォルダは複数あるため、一階層上から作業できる方がいいです。 AAAというフォルダ下に先のABCというフォルダ以外にDEFやGHIといったフォルダがあり、その下に001-00.txtや001-01.txtというフォルダがあるということです。 よろしくお願いします。

  • 複数PDFファイル内の特定文字列を一括置換したい

    社名変更に伴ない、数百個あるPDFファイル内にある社名部分を新しい社名に置換したいのですが、 通常のsed(ストリームエディタ)やテキストファイル用置換ツールでは、文字列の検出は行われても置換ができなくて困っています。 置換個所・対象ファイルが多いので、 「検索」->「タッチアップツール」->「書き換え」->・・・ では、気が遠くなりそうです。 一括置換出切る方法・ツールがあれば教えて下さい。

  • MacOSX上で動く文字列一括置換ソフト

    MacOSX(10.1)上で動く、複数ファイル内の対象文字列を一括で置換するためのフリーウェアを探しています。 どなたかごぞんじの方がいらしたら教えてください。 よろしくお願いいたします。

  • テキストファイル 文字列置き換え

    複数のテキストファイルを一括で別の連番のついた文字列に 置きかえることのできるソフトを探しています。 以下の3つの条件を満たすソフトはありますでしょうか? ・複数のテキストファイルを一括で置き換え可能 ・「何行目の文字列を置き換える」という指定が可能 ・置き換えた文字列に連番をつけることが可能 ご存知でしたら、ご教示ください。 よろしくお願いします

  • viエディタ 複数ファイルの一括編集

    複数のファイルを開ける事は知ってますが、全部一括して同じ編集操作、具体的には文字列置換をしたいのです。どうすればいいでしょうか?

専門家に質問してみよう