• ベストアンサー

テキスト内の文字列検索について

テキストに、あるHPのソースをコピーして、その中からある文字列がかかれてある文章を抽出するプログラムを作りたいのですが、その仕方がわからなくて困ってますお願いします。具体的にいうと、ソースの中から著作権に関する記述を抜き出したくて、”著作権”と入力すると”著作権”が含まれる文章を抜き出したいんです。これってできるんでしょうか?

  • mos21
  • お礼率46% (128/273)

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

  • ベストアンサー
回答No.1

指定した文字がその文字列に含まれているかどうか判断するのにInstr関数を使います。 例えば 文字列"あいうえお"のなかに"う"という文字を探したい時、 A=Instr(1,"あいうえお","う") Aには3という数値が戻ってきます。指定した文字が含まれていれば文字列の何文字目か、含まれていなければ0が戻ります。 テキストを保存しているのなら、Open関数でテキストファイルを開き、テキストの内容を抜出して、抜出した文章を Instr関数で判断する。という構成にするといいと思います。 Open関数、Instr関数、Print、Input、Outputの詳しいことはVBのヘルプ等で参照するといいでしょう。

mos21
質問者

お礼

ご丁寧な回答ありがとうございました。Open関数やInstr関数、Print、Input、Outputなどがまだよくわからないので調べながらやっていきたいと思います。

関連するQ&A

  • perlでテキストから顔文字を抽出するプログラム

    テキストファイルから顔文字を抽出するプログラムを作りたいのですが、行き詰まっています。 一応、正規表現の内容としては、 半角と全角の括弧と前後の記号っぽいものを抽出し、 括弧の中身が「3文字以上半角英数字/全角文字列が続かないもの」という条件で、 抽出すれば上手くいくのかなぁと考えているのですが、上手くperlで表現できていない状態です。 どなたかプログラムに詳しい方で、ソースを記述できる方がいれば、よろしくお願いいたします。

  • エクセルの文字列を抽出する関数を教えてください!

    テキストファイルから文字列をエクセルに貼りつけ、ある条件の単語のみを抽出する関数について教えてください。 (1)あらゆる文字・記号で構成されている文章のうち、” ”(二重引用符)で囲まれた中のその文字列だけを抽出するには、どのような関数があるのでしょうか。 (2)ある文章は、 (文字数はバラバラの文章).1-文章.doc、 (文字数はバラバラの文章).2-文章.doc、  ・・・ となっているテキストがあるのですが、そのテキストのうち、「数字ー」の形式は同じなのですが、その「(数字)‐」以降「.doc」までの文章のみ抽出するには、どのような関数になるのでしょうか。 マクロは組めませんので、関数で教えて頂ければ幸いです。 宜しくお願いします。

  • テキストから文字列の抽出法

    テキストから文字列を抽出して、比較したいのですが、良いアプリケーションをご存じないでしょうか? 具体的には2つの異なるフォーマットのファイルがあり、それぞれに(同一の文字列かどうか)比較したい文字列は1行ずつソートされた形で含まれています。しかしその同じ行に時刻などの付加情報が含まれているため、行単位で比較することができないのです(行単位で比較できるアプリは知っています)。 文字列とはファイル名ですので、*.* の形で指定して、抽出できればと思うのですが... もしご存知の方がいらっしゃいましたら、教えてください。

  • 最も多い文字列を検索するには

    皆様いつもお世話になっております。 最も多い文字列を検索するにはどのようにすればよいでしょうか。 具体的には (1)A列に6文字の文字列が並んでいます。 (2)先頭4文字の文字列で最も多い種類の文字列の値を取得する (3)最も多い文字列以外の文字列を含む行を削除する というプログラムを組みたいと思います。 よろしくお願いします。

  • テキストファイルから文字列の表示 2

    以前に質問した「テキストファイルから文字列の表示」の続きです。長ったらしい説明になるので、「テキストファイルから文字列の表示」を見た上で答えていただきたいです。コードは、「テキストファイルから文字列の表示」のNO.3~NO.5を主に参考にさせていただきました。OPEN_"*.*"の抽出が、*.*の形だけではなく、OPEN_"*"(つまり、OPENのあとに" "があると" "をすべて拾ってくる状態)で認識されています。*.*の形だけで抽出は出来ないものでしょうか。あと、" "の中に、":"(例.OPEN "C:temp",OPEN "ASD:")があると、":"がある所は無視されてしまいます。これもどうにかならないでしょうか 参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=340321

  • 文字列を2つに分ける

    10個近くある異なるブックのシートを、新しい1つのブックにまとめてしまおうと考えています。 手動で1つのブック内の複数シートを選択して、新しいブックにコピーしようとしましたが、1つのセルに入力されている文字列の中に、かなり長い(255字以上)ものが含まれており、コピーした際にデータが捨てられてしまいます。 長い文字列を、事前にマクロで探して、2つのセルに分ける (たとえば、A1に長い文章があるなら、A2にセルを挿入して、文字列を2つにわける) ことは可能でしょうか? 分けたあとにそれぞれが255字以下になっていることも確認したいと思っています

  • エディタのViで、検索する文字列をテキスト中からコピーしてきたいのですが。

    Viで、テキスト中にある文字列(パターン)を検索したいのですが、どうすればよいのでしょうか。 /tangoと入力すれば、tangoというパターンを検索できるのはわかるのですが、 tangoというパターンをキーボードから打つのではなくて、 テキスト中にtangoというパターンがあるのを見つけて 「あ、このtangoというのを検索したいな~~」 と思って、テキスト中からコピーしてきて検索する方法が知りたいのですが。 あと、Viの操作方法でよくわからないことが出てくるので、 やさしく解説しているサイトを教えていただけるとありがたいです。

  • 文字列の検索

    プログラムをいじる時に必要な文字列を検索出来るようなものはないでしょうか? 例えばHTMLファイルをノートパットに入れて、その文書をコピーして「HTTP」と書いてある文字列のみを表示させる。 って言うような都合が良いフリーソフトを探しております。 どなたか知らないでしょうか?

  • 文字列操作

    テキストを読みこんで、そのテキストにある単語を抽出するプログラムを作ろうとしています。単語の区切り文字はスペースかタブで、1文字ずつ読みこんで行こうともいます。 しかし、1文字ずつ読みこむ関数fgetcは返値がint型のようです。1文字ずつよみこみながら読みこんだ文字がスペースかタブで無いか見たいのですが、fgetcのint型返り値をchar文字列と比較するにはどうしたら良いでしょうか。

  • エクセルの文字列で似たものを抽出する

    いくつかあるエクセルの文字列のうち, 一番にてる文字列を抽出する方法を教えてください. たとえば,画像のように入力してある30通りの文字列のうち, ★の文字列に一番似ている文字列は1~30番の文字列のうちどれか, を知る方法について,具体的に教えていただけると嬉しいです. 関数は,不得意なのを踏まえて,教えていただけるとなお嬉しいです. どうぞよろしくお願いします.

専門家に質問してみよう