• 締切済み

特定の文字列に囲まれた文字列を複数同時に抽出したい

ホームページのソースの中から特定の文字列(タグ含む)に囲まれた文字を 複数同時にテキストファイルに抽出したいです。 例えば <table><tr><td width="100">い</tr></table> <table><tr><td width="88">ろ</tr></table> <table><tr><td width="55">は</tr></table> <table><tr><td width="100">にほ</tr></table> <table><tr><td width="55">へと</tr></table> とあった場合、「width="100">」と「</tr>」を指定して、 「い」と「にほ」をテキストファイルに書き出したいです。 何か良いソフトはないでしょうか?

  • ibam
  • お礼率0% (0/1)

みんなの回答

回答No.1

・ファイル数 ・途中改行の可能性(↓のような) <table><tr><td width="100">い </tr></table> が不明なので、ごく少数&可能性あり、の場合です http://www.vector.co.jp/soft/winnt/writing/se476839.html バックアップファイルを作った上で、ファイルを開き Ctrl + A Shift + F7 Ctrl + R 検索する文字列 (.*?)width="100">(.*?)</tr> 置換後の文字列 \2\n 「正規表現を使用する」にチェック すべて置換 最終行はゴミなので削除 ちなみに width の値にかかわらず、だと (.*?)width="\d+">(.*?)</tr>

関連するQ&A

  • 特定の文字列を取り出したい

    秀丸エディタの正規表現などを使えば可能だと思うのですが、 あるファイルに以下のような記述があったとして <table><tr> <td>abc1@abc.jp</td> <td>abc2@abc.jp</td> <td>abc3@abc.jp</td> <td>abc4@abc.jp</td> </tr></table> タグの中身の文字列だけを取り出して abc1@abc.jp abc2@abc.jp abc3@abc.jp abc4@abc.jp というテキストを作りたいのですが、 何か良い方法はありますでしょうか?

  • <td>中の文字列に<p>は必要?

    テーブルの<td></td>タグ中の文字列は、<p></p>タグで囲むべきでしょうか? <p></p>タグで囲まない場合の例: <body> <table border="4" width="250"> <tr> <td align="left"> ここの文字について質問しています。 </td> </tr> </table> <p></p>タグで囲む場合の例: <body> <table border="4" width="250"> <tr> <td align="left"> <p> ここの文字について質問しています。 </p> </td> </tr> </table> </body> どちらが、良いのでしょう? よろしくお願いします。

    • ベストアンサー
    • HTML
  • 特定の文字列を挿入

    テーブルのセルに特定の文字列を挿入する方法は御座いませんか? 例えば、 HTMLファイル <html> <head> </head> <body> <table> <tr><td> (1) </td><td> (2) </td></tr> <tr><td> (3) </td><td> (4) </td></tr> </table> </body> </html> とあった場合 JavaScriptファルには (1)に挿入する内容 (2)に挿入する内容 (3)に挿入する内容 (4)に挿入する内容 を書いてHTMLファイルに書き出しをしたいのです。 document.write('');を使って書き出す方法は知っていますが、指定した場所に貼り付けたい場合複数ファイルが必要になりますよね? それでは不便なので、JavaScriptファルは外部化で1つのファイルにし、指定箇所に文字列を挿入する方法を教えてください。 printを使えばいいんでしょうか?

  • VB6.0 特定の文字列の取得方法

    環境:WINDOWS 2000 Visual Basic 6.0 (1)htmlファイルをInbutB関数で読み込み、変数AAAに代入 (2)Instr関数を使用して Instr(htmlが格納された変数,"<td")などと特定の文字位置を検索 (3)mid関数などで特定の文字位置から文字位置を抜き出す  例:mid(AAA,<TD>開始位置A,文字列開始位置B) 上記のようなことをやりたいと考えています。 今回困っていることは<TD>開始タグの文字位置の検索です。 <td valign="top" align="right" width="600"> width="600"のtd開始タグの位置を検索したいと思っています。 ファイルは複数あり、<td と width="600" の間に入っているものも異なり、またシンプルに<td width="600>というパターンも存在します。 こういった場合、どの用に特定の条件を満たした<TD>タグの位置を検索すればよいでしょうか?

  • tableの中にtableを作ると、width指定が機能しない

    tableの中にtableを作り、中側にあるテーブルの列ごとにwidthを指定したいのですが、うまくいきません。ソースを書いてみます。 例: <table width=300> <tr><td> <table width=100> <tr><td>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td><tr> </table> </td><td> <table width=100> <tr><td>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</td><tr> </table> </td><td> <table width=100> <tr><td>ccccccccccccccccccccccccccccccccccc</td><tr> </table> </td></tr> </table> width=300のテーブルの中にwidth=100のテーブルが3つできたのはいいのですが、width=100のテーブルの中に100pxを超える文字列を入れると100pxという値を無視してテーブルが横長くなってしまいます。 これを100pxという値に従わせるにはどうしたらいいでしょうか?

    • ベストアンサー
    • HTML
  • 文字列型をDOM型に変換

    text = "<table id="table1"><tr><td>a</td><td>b</td></tr></table>"; このような文字列データがあるときに、 これをDOM形式に一発変換することは可能でしょうか? document.createElement() element.appendChild() element.setAttribute() 等のメソッドを使って、地道に作らなくてはならないのでしょうか? ご存知の方がいらっしゃったら、回答よろしくお願いいたします。

  • テーブルタグ内の文字位置を統一する方法について

    ひとつのページにある複数のtableタグのうち、ひとつだけタグ内の文字位置を一括で統一する方法を教えてください。<td>タグにvalign="top"などと一つずつ記載していくしかないのでしょうか。 たとえば、とあるページに下記の2つのテーブルタグがあるとして <table border=1 width=5> <tr><td>適当</td> </table> <table border=1 width=5 この場所で一括設定する方法="知りたいです"> <tr><td>このテーブルだけ</td> <td>全部</td>  <tr><td>文字位置を上で</td>  <td>統一したいです</td> </table>

    • ベストアンサー
    • HTML
  • VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています

    VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています。 正規表現を利用してタグに挟まれた文字を抽出したいのですがうまくいきません。 タグごと抽出する方法でも構わないので教えてください。 例えば <a href="www.yahoo.com△">○○○</a>   ・・・<1> ※△は(www.yahoo.com)+(半角数字1文字) ※○○○は1文字以上の全角文字 このようなパターンの文字列(<1>を丸ごと)を抜き出すには どのような正規表現を書けばよいでしょうか? 単に<a href ではじまって </a>  で終わる文字列であれば <a href.*</a> で良いと思うのですが、もう少し範囲を絞れば目的の文字列だけを抽出できるので ぜひ実現させたいと思っています。宜しくお願いします。

  • 同じwidth=200でもセル内の文字によって幅が違う

    まず、大体↓な感じの表を作りました(ファイル1)。 <table width="580"> <th width="60">【A列】</th><th width="320">【B列】</th><th width="200">【C列】</th> <tr><td>D</td><td>E</td><td>F</td></tr> <tr><td>G</td><td>H</td><td>I</td></tr>      ・      ・      ・ </table> このHTMLファイルをコピーしてファイル2を作り、 セル内の文字や数値のみ修正し、 随時ブラウザを更新して確認していると、 【C列】の列幅(200)が広くなったり狭くなったりする現象が起き (その分【B列】も変化し、全体的には580のままです)、 結果的に2つのファイルは【C列】の列幅が違います。 都合上、どちらのファイルも【C列】の列幅は同じにしたいのですが、 何か良い方法はありますでしょうか。 ちなみに、セル内の文字は【B列】も【C列】もオーバー分が折り返されています。 【A列】のみオーバーしないようにしています。 ご回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • cssで列の幅を調整するには?

    たとえば、 <style type="text/css"> table { width: 100%; } </style> </head> <body> <table border=1 cellspacing=1 cellpadding=1> <tr><td>a</td><td>b</td><td>c</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr> </table> このようなcssとコードがある場合、 3列目のcと3の列の幅を10%にしたい場合、 どのようなコードを書けばいいですか? td { width: 10%; } こうすると、すべての列が10%になってしまいます。 指定した列のみのcssで幅を調整する方法を教えてください。 できれば直接テーブルのタグをいじるのではなく、スタイルシートの宣言部分で対応したいです。

    • ベストアンサー
    • HTML

専門家に質問してみよう