• 締切済み

C#でのファイルの中にあるURLの読み取り

現在私はC#で、プログラムを作成しているのですが、その中で少しわからないことがあります。 作成しているプログラムの中に、ファイルの中に書かれているURLを取り出す、という機能を付けたいのですが、ファイルを読み込んだ時に、その中にあるURLをどうやって取得していいのか分からないのです。 いろいろ検索してみた結果、Indexofメソッドを使用したときに、特定の文字列が含まれているかどうか検索することができるらしいのですが、それを使用して、どのような長さをしているかもわからないファイル中にあるURLを、どのように取得していいのか想像もできません。 質問が稚拙で、しかも言いたいことが分かりにくいかもしれませんが、どなたか回答、または詳しくそのやり方が載っているサイトの紹介をよろしくお願いします。

みんなの回答

  • zampa
  • ベストアンサー率0% (0/0)
回答No.1

System.Text.RegularExpressions.Regexクラスを用いて 正規表現で検索するのがよいかと思います。 具体的な使い方は参考URLを参照して下さい。 しかし"URL 正規表現"で検索していただければわかりますが 厳密にURLを判定しようとすると、なかなか大変なようです。 (だからといって正規表現を使わなければもっと大変かと) 可能であれば、ある程度制約を設けて、ある一定の形式のURL のみ抽出出来るといった仕様に持って行く方がよいかと 思います。

参考URL:
http://msdn.microsoft.com/ja-jp/library/system.text.regularexpressions.regex(VS.80).aspx

関連するQ&A

  • ページの中から文字列を取り出すメソッドってある?

     なんか昔、図書館から借りてきた本で読んだような。。。  インターネットのホームページを見ていてそのページの中からある特定の文字を検索するプログラムを作りたいのですが、  そういうメソッドはないのでしょうか?もしあったらメソッド名を教えてください。  また、普通のテキストファイルからある特定の文字列を取り出すメソッドもあったら教えてください。  よろしければ、5~6行のコードも書いていただければありがたいです。 宜しくお願いします。

    • ベストアンサー
    • Java
  • ファイルの読み取りについて

    現在C言語の勉強中ですが、 テキストファイルがあったとします。 ファイル内容 abc ,111 def ,222 ghi ,333 っとあったとします。 プログラムで入力した数値で、どの行番号のどのブロックの 文字列を取得し表示したいのですが、行とブロックの指定方法が わからなくて困っています。 ご回答よろしくお願いします。

  • あるURLがファイルなのかディレクトリなのかが知りたい

    用語の使い方が不正確かもしれませんがご容赦下さい。 例えば、http://www.foobar.jp/xxx というURLがあった場合に、xxx の部分がファイルなのか、あるいはディレクトリなのか、あるいはスクリプトなのか、を知るにはどうしたらいいでしょうか? 現在、以下のようなプログラムを作成しています。 ・あるURLを指定する。 ・そのURLが指すページの内容を取得する。 ・そのページの中にあるリンクを全て取得する。 ・取得したリンクをフルパスに変換して出力する。 この際、 ・指定したURLがホスト名のみ ・指定したURLが / で終わっている ・取得したリンクがフルパス ・取得したリンクが / で始まっている ような場合は問題ないのですが、 ・指定したURLがホスト名のみでなく、かつ / で終わらず、かつ取得したURL が / ではじまらない といった場合は、どのようにフルパスを組み立てたらいいかがわかりません。 例えば、指定したURLが「http://www.foobar.jp/xxx」、取得したリンクが「yyy/zzz」のような場合、出力すべきフルパスは以下の2種類が考えられますが... http://www.foobar.jp/xxx/yyy/zzz http://www.foobar.jp/yyy/zzz 以上よろしくお願いします。

    • ベストアンサー
    • Perl
  • HTMLソースからURLだけを抜き出す方法を教えてください!

    どなたかお知恵をお貸しください。 HTMLのソースファイルからURLを取得するツールを 作ろうと思うのですが、そのURLだけを抜き出すと いうところがよく分かりません。 ソーステキストを open "source.txt" for input as #1 do until eof(1) line input #1,aa で一行ずつ読み込んでいき、 その中から InStr関数で「http://」の文字列を検索すると いうことぐらいは想像がつくのですが、URLは 文字数も決められているわけではないので、検索で 見つかった位置から最後までを抜き出すという方法が どうしても分かりません。 あるいは、タグの <A href= という文字列を検索して 見つかった位置から次に > という文字列が見つかった 場所までの間を抜き出すという方法になるかと思いますが、 最初に検索で見つかった位置から次に見つかった位置まで をどのように検索すればいいのかが分かりません。 何かいい手がございましたら、ぜひ教えてください。 よろしくお願いします!

  • URLの文字列判定のプログラムについて

    javascriptの質問です URLを取得し、そのURL内に 「aaa」という文字列が含まれていたらAという文字列を返し 「bbb」という文字列が含まれていたらBという文字列を返し どちらにもあてはまらない場合は、Cという文字列を返す というプログラムを作成したいのですが、方法がわかりません どのようにプログラムを書けばよいのでしょうか お手数ですが教えてください よろしくお願いいたします

  • URLファイルについて

    音声ファイルをMP3ファイルとしてダウンロードしようとしましたが、出来ませんでした。 著作権がまだ残っているためと思われます。 しかし、URLファイルとしてダウンロードが出来ました。 このURLファイルをエクスプローラー上でダブルクリックすると、音声は再生されました。 ノートパソコンに入れて持ち運ぶことも出来ます。 メールに添付して、送ることも出来ます。 メールで受信したときは、一度インターネットに接続した状態でダブルクリックすれば、 再生が行われ、以後はインターネット接続がなくても再生可能です。 これでは、MP3ファイルでのダウンロードと同じ効果ですね。何故この様なことが 可能なのですか。 ======= 以下の程度の知識を私は持っております。 .urlファイル(インターネットショートカット)の作成・記述 ダブルクリックするだけで、ブラウザで特定のページを開くことのできる 「.url」形式のファイル(インターネットショートカット)をとてもカンタンに作成できます。 WindowsでもMacでもどちらでも作れて、どちらでも開けます。

  • 多数のテキストファイルからの文字列の取り出し

    いま、わたしが持っているヴィジュアルベーシックは VB6.0です。PCはノートで、OSはXPです。 課題: あるフォルダーに1000くらいのテキストファイルがあって、 その各テキストファイルから たとえば、「「不特定長さの文字列1」」・・・・・・・・((不特定長さの文字列2)) の不特定長さの文字列1と不特定長さの文字列2を とりだし、 それをファイル名「まとめ表」というテキストファイルに ファイル名    文字列1   文字列2 ファイル1   あいうえお  かきくけこ ファイル2   さしすせそ  たちつてと  ・         ・        ・  ・         ・        ・ のように書き込むというプログラムを作成したいのですが、 できるでしょうか? できるとすると、 プログラムの およその考え方と 使用する命令語はどのようなものになりますか? ご回答をおまちしております。 よろしくおねがいいたしますm(__)m

  • C# プログラミングの基本 初心者

    こんにちは。 プログラミング初心者です。 ただいまC#を勉強中で2冊ほど本を読みました。 ウインドウズアプリケーションを作成するにあたって質問があります。 多くのクラス、メソッドの中で、自分の目的のメソッドを探すためには通常プログラマーの方はどうしてらっしゃるのですか? 例えば、ボタンを押すとあるURLからファイルをダウンロードする機能を実装したいと考えるとします。 そういった場合、ファイルをダウンロードするメソッドはどのように探せばいいのでしょうか? ヘルプでの上手な検索方法なども教えていただけると助かります。 よろしくお願いします。

  • C++で特定のURLにアクセスする方法を教えてください。

    C++で特定のURLにアクセスする方法を教えてください。 VisualStudio2008(C++)で開発しています。 特定のURLにアクセスして、ウェブページの情報を取得したいのですが、方法がわからずに困っています。 具体的には、twitter検索を行うAPIを実装したいです。 よろしくお願いします。

  • ファイル操作について、テキストファイルの書き換え

    よろしくお願いします。 データファイルAからデータを取得して、テキストファイルBの内容の一部を取得したデータで書き換えるという操作を行うプログラムを作りたいです。 具体的には、 データファイルA[A.txt]の中身 111 222 333 444 テキストファイルB[B.txt] 文字列1="123" 文字列2="234" 文字列3="345" 文字列4="456" というような二つのファイルを読み込み、B.txtの""で囲まれた部分を、A.txtで取得したデータで置き換えるような操作を行いたいのですが・・。 使用する言語としてはスクリプト言語であるperl、もしくはプログラム作成経験があるCを使用しようと思っています。(perlは未経験で入門書を読んでいるレベル)

    • ベストアンサー
    • Perl

専門家に質問してみよう