• 締切済み

C# htmlの中からaltの中身だけを抜きだす

C#での質問です。 とあるウェブページのhtmlの中から、そのhtmlに存在する全てのaltタグの中身のテキストだけを取り出し、その文字数をカウントしたいと考えております。 <img src="http://test" alt="AAA">あいうえお<img src="http://test" alt="BBB"> 例えば、上記のようなHTMLソースがあったとしら、altの中身は合計で「AAABBB」の6文字になりますが、この「6」という数値を導きたいということです。 分かるかたがいらっしゃいましたら、ぜひご享受くださいm(__)m

みんなの回答

  • mk48a
  • ベストアンサー率56% (1133/2007)
回答No.3

1行ごとにalt="の位置を検索して次の”の位置までの文字数をカウントする。 検索はstring.IndexOf()でできます。 先頭座標が取得されるのでalt="の文字数分だけずらしてやります。 これで1行の文字数が取得できるので、すべての行の文字数を取得して足しあわせるだけです。 文字数の取得は正規表現を使うと簡潔に記述できるかもしれません。

wakaminmin
質問者

お礼

なんとか正規表現でやれそうな感じがします。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

余計なことかもしれんけど, それ「タグ」じゃないからね.

wakaminmin
質問者

お礼

そうなんですね。ありがとうございました。

すると、全ての回答が全文表示されます。
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

HtmlDocumentクラスのメソッドとか使えばおそらく取れるとは思われますが……。 >altの中身は合計で「AAABBB」の6文字になりますが、この「6」という数値を導きたいということです。 「AAああああ」の場合は何文字になるんでしょう?

wakaminmin
質問者

補足

回答ありがとうございます。 その場合も6文字としてカウントするようにしたいと思っています。

すると、全ての回答が全文表示されます。

関連するQ&A