エクセル2007でcsvファイルを開き、htmlタグが記載されたデータに文字を追加する方法

このQ&Aのポイント
  • エクセル2007でcsvファイルを開いて、htmlタグが記載されたデータの一部に文字を追加する方法について教えてください。
  • 検索する値は「<p class='test'>*</p>」で、置き換え後には「<p class='test'>*</p><!--end test-->」となるようにしたいです。
  • エクセルには正規表現検索のアドインがインストールされており、正規表現を利用することができる状態です。具体的な手順を教えていただけますか?
回答を見る
  • ベストアンサー

正規表現置換を使った文字の追加

正規表現置換を使った文字の追加 エクセル2007でcsvファイルを開き、htmlタグが記載されたデータの一部に文字を追加したいと思ってます。 ●検索する値 <p class='test'>*</p> ●置き換え後 <p class='test'>*</p><!--end test--> *は全角文字、英数字、htmlタグなどが入り交じります。 *の部分は変更せず、「<p class='test'>」から始まるhtmlタグの「</p>」の後ろに「<!--end test-->」を追加したいだけなんですが、どのようにすればいいのでしょうか。 エクセルには正規表現検索のアドインをインストールしてるので、正規表現を利用することができる状態です。 よろしくお願いいたします。

  • ao_
  • お礼率59% (112/189)

質問者が選んだベストアンサー

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

<p></p>の中にpタグが入れ子になっていないっていう前提があるなら最短一致でやったら良いんじゃないかな。 正規表現自体に関しては省略

ao_
質問者

補足

ありがとうございます。 そういえば、pタグの中にpタグが入れ子になっているデータもありました。 あの後、自分なりに正規表現の基本から勉強したところ、 検索<p class="test">(.+)</p> 置換<p class="test">$1</p><!--end test--> にたどり着きましたが、これは 入れ子の場合、最短一致になるのでしょうか?

関連するQ&A

  • 正規表現:囲われた文字列の置換

    シングルクオーテーションで囲われた文字列のシングルクオーテーションの前に文字を追加するように、正規表現を用いて置換しようと考えています。 全角文字は[^\x01-\x7E]で検索できるのはわかったのですが、シングルクオーテーションで囲われて、全角文字を含む場合という表現ができません。 下記のような、文字列を対象としています。置換をするのは、全角文字を含む文字列のみです。  全角文字のみ  半角文字のみ  全角半角文字両方 下記ののように置換したいです。 置換前: '全角文字や半角文字','testです','test'.'テスト'.'てすとtest','123' 置換後: A'全角文字や半角文字',A'testです','test'.A'テスト'.A'てすとtest','123' よろしくお願いします。

  • 秀丸で正規表現を使って置換

    あるファイルに関して、このような置換を行いたいです。 abc/xxx,yyy,zzz.html ↓ abc/xxx.html xxxとyyyとzzzはある任意の文字列(英数字で文字数はばらばら)で 「abc/」と「,」と「.html」は固定の文字列になります。 そこで、秀丸で開いて、正規表現による検索で、 「abc/.*,.*,.*.html」 として検索すると、該当部分が検索できることがわかりましたが、置換後をどのように設定すればいいのかわかりません。 置換後のabc/xxx.htmlの「xxx.html」の部分は検索前の任意の文字列をそのまま残したいのです。 秀丸の置換機能でこのようなことは可能でしょうか? 正規表現に関してあまり詳しくないので教えてください。

  • 秀丸での正規表現を使用した置換

    いつもお世話になっております。 秀丸で正規表現を使用した置換処理を行いたいと思うのですが、どうしても正規表現の式が書けません。 どうかご教示下さい。 <置換前> ABC1 あAbCd++ ... ... ・先頭4文字は半角英数字の大文字固定 ・その後ろにタブ ・最後にかな、英数字、記号などの可変長の文字列 上記で1レコードです。 <置換後> ABC1 String 内容 あAbCd++ ... ... ・先頭4文字そのまま ・その後ろにタブを3つ+改行 ・続いて「内容」という文字列+改行 ・最後に可変長の文字列をそのまま+改行 「置換」の正規表現は以下だと思うのですが、英数字4文字と可変長文字列を別々にマッチさせる「検索」がどうしても分かりません。 \0 String\n内容\n\1\n どうかご教示下さい。 <環境> Ver.6.1.4

  • 正規表現で置換

    正規表現の初心者です。 テキストエディタを使って、「@:」で始まる以外の行の先頭に「//」を挿入してコメントアウトしたいのですが、正規表現がうまく書けません。 検索対象: ^[^(@:)] 置換文字列: // でいいのかなと思ったのですが、[]の中ではグルーピング用の()も文字として認識されてしまうのですね。 どのように書いたら正しく置換されるでしょうか。 どうかご教示ください。

  • Excel : タグ付き正規表現による文字置換は可能?

    アクティブセルの文字を、正規表現を利用して文字置換をしたいと考えています。 ただ、単純な文字置換ではなく、正規表現にマッチした文字列を記憶して、 置換後の文字列として呼び出して利用します。 秀丸エディタにあるような「タグ付き正規表現」を利用したいです。 Excelでも同じようなことは可能なのでしょうか? 一例として挙げますと、次のような文字置換です。 ●「?」の後に全角スペース以外の文字がある場合には、「?」の後に全角スペースを1つ入れる。 ●「?」の後に全角スペースが複数続く場合には、「?」の後の全角スペースを1つだけにする。 つまり、★を全角スペースとすると、次のようになります。 あいう?あいう   → あいう?★あいう あいう?★★あいう → あいう?★あいう さらに、一例を挙げますと、 ●「AさんはBさんの友達です」というような文章を、「BさんはAさんの友達です」にする。  つまり、AとBに相当する部分を入れ替える。 よろしくお願いいたします。

  • 特定の文字列に""を追加する正規表現を教えてください。

    特定の文字列に""を追加する正規表現を教えてください。 置換前 ID=○○○○ 置換後 ID="○○○○" とするにはどうすればよいのでしょうか? 正規表現というものを最近知ったのですが、どうしたものか全然わかりません…。 よろしくお願いいたします。

  • 置換の正規表現

    Win版Golive6を使用しています。 正規表現については初心者なのですが、 検索/置換で、$1がうまく使えず困っています。 具体的には <span class="price">¥2,100(税込・送料無料)</span> というタグの中から(税込み・送料無料)という表記だけを 消したいのです。ちなみに数字部分はそれぞれ異なります。 そこで、自分なりに、色々と試し最終的に以下のような 方法に行き着きました。 ▼検索 <span class="price">(.+)(税込み・送料無料)</span> ▼置換 <span class="price">$1</span> これで、検索はうまくいくのですが、$1という記号部分が 希望の数字ではなく記号そのままに表示されてしまいます。 ちなみに、 ・対象のページは数千ページあり、手作業では不可能です。 ・class="price"以外の場合は置換されると困ります。 ・¥(税込み・送料無料)は全角です。 何か間違えているのでしょうか?それともGoliveでは $1が使用できないのでしょうか。できればGoliveだけで できると助かりますが、他のソフトでもかまいません。 どうかよろしくお願いします。

  • テキストエディタでの置換(正規表現チェック済)と同様のことを

    テキストエディタでの置換(正規表現チェック済)と同様のことを エクセルのマクロでもしたい。 画像を添付しましたが、秀丸で置換を選択し、 検索文字列と置換文字列を入れて、正規表現チェックのチェックボックスを 選択した状態で実行するのと同様のことをエクセルのマクロで行いたいです。 正規表現混みだととても難しいです。 やりたいことはマクロで、フォルダ内のテキストファイルを置換をかけていきたいです。(テキストファイルは複数ある状態)そのテキストファイルを更新できればいいです。(別テキストで出力されてもいいです。) どなたか詳しい方、教えていただけませんでしょうか? よろしくお願いいたします。 --- 検索エディタ【秀丸】【置換】 検索【.*item1=(.*) item2=(.*) .*】 置換【\1\t\2】 正規表現チェック

  • 正規表現置換

    はじめまして。 現在、テキストエディタで kami987koroです。(漢字、かな、英数字、半角記号、全角記号、改行、スペースを含む文字列)ありがとうございました。 という文字列を正規表現で拾いだして、置換したいと考えています。 ただ、私がその方面の知識に疎く、どう表記すればよいのか分かりません。 そこで、この分野にお詳しい方、ご教授願えませんでしょうか? よろしくお願い致します。

  • 正規表現で一括置換

    現在、数多くの長文データを、テキストエディタの置換機能で一括置換しています。 jeditX(または秀丸エディタ)の正規表現をもちいた複数一括置換について質問させていただきます。 私は正規表現やPC言語の初心者です。どうぞよろしくお願いいたします。 かなり困り果てております。どうぞ、正規表現にくわしいかた、よろしくお願いします。 一二三『一二三にそれぞれ♪マーク』 という文章に対して 一♪二♪三♪ という一括置換をすることには成功しました。 こう書いています。 ■検索文字列 (.{1,1})(.{1,1})(.{1,1})『(.{1,1})(.{1,1})(.{1,1})にそれぞれ♪マーク』 ■置換文字列 \1♪\2♪\3♪ これでぶじ、以下のように一括置換できました。 一♪二♪三♪ 現実には傍点や圏点をふっているんですが、判りやすく♪マークにしています。 この調子で長い文章も変換できていて満足していたのですが…… しかし代入文字が10個以上になったとたんに、まったく動きません。 ■置換したい文章 一二三四五六七八九十『一二三四五六七八九十にそれぞれ♪マーク』 ■検索文字列 (.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})『(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})にそれぞれ♪マーク』 ■置換文字列 \1♪\2♪\3♪\4♪\5♪\6♪\7♪\8♪\9♪\10♪ こうやると、置換後の文章は以下のようになってしまいます。 一♪二♪三♪四♪五♪六♪七♪八♪九♪一0♪ 10個目以降の数字が、正しく機能してくれません。 \10  という正規表現の書き方は 「一番目の値を参照して、それから数字の0を記入しなさい」 という意味になってしまうようです。 わたしは十番目の値を代入してほしいだけなんです。 \1 や \2 や \3 といった代入文字のように \10 や \11 を機能させる、正しい表記をご教授ください。よろしくお願いいたします。 ちなみに以下のように書いてもダメでした……。 \1\0 グーグルで1日中検索しても判りませんでした。jeditXの複数一括置換でこれをなんとかしたいのです。ご存じの方、どうぞ教えてください。よろしくおねがいします! 秀丸エディタをご利用で、正規表現にくわしい方も、ぜひヒントを出していただければと思います。

専門家に質問してみよう