vb6で一部文書獲得の方法

このQ&Aのポイント
  • vb6を使用して特定のキーワードが含まれる文とその前後の一文を取得する方法について質問します。
  • キーワードが最初の文に含まれる場合は後ろの二文、最後の文に含まれる場合は前の二文を取得する方法についても教えてください。
  • また、長文中に複数回キーワードが含まれる場合は、それぞれの前後の文を取得するボタンを作成したいです。
回答を見る
  • ベストアンサー

vb6を用いての一部文書獲得の方法

vb6を用いたプログラミングについて質問させていただきます。 長文の中から以下3つの条件で文章を取得したいと考えています。 1.特定のキーワード(例えば:「goo」)が含まれている文とその前後の一文を取得したいです。 2.キーワードが最初の文に含まれる場合には後ろ二文、最後の文に含まれている場合には前の二文を取得。 3.長文中に複数回キーワードが含まれている場合、ボタンを用いてそれぞれの前後の分を取得。 ---------------------------------------------------------------------------------- 「後ろ二文取得のパターン」 例1: 私はgooで質問します。その結果、たくさんの回答を頂けました。感謝しています。自分も回答できるものは答えたいです。 取得1: 私はgooで質問します。その結果、たくさんの回答を頂けました。感謝しています。 「前後二文取得のパターン」 例2: 私は質問します。その結果、たくさんの回答をgooで頂けました。感謝しています。自分も回答できるものは答えたいです。 取得2: 私は質問します。その結果、たくさんの回答をgooで頂けました。感謝しています。 「前二分を取得のパターン」 例3: 私は質問します。その結果、たくさんの回答を頂けました。感謝しています。自分もgooで回答できるものは答えたいです。 取得3: その結果、たくさんの回答を頂けました。感謝しています。自分もgooで回答できるものは答えたいです。 ---------------------------------------------------------------------------------- 宜しくお願いいたします。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Text1にある文からText2抽出を行ないます。 Dim myReg As Object Dim keyword As String Dim v As Variant Dim vv(1 To 3) As Variant Set myReg = CreateObject("VBScript.Regexp") keyword = "goo" vv(1) = "[^。]*。[^。]*" & keyword & "([^。]*。){2}" vv(2) = "[^。]*" & keyword & "([^。]*。){3}" vv(3) = "([^。]*。){2}[^。]*" & keyword & "([^。]*。)" For Each v In vv myReg.Pattern = v If myReg.Test(Text1.Text) Then Text2.Text = myReg.Execute(Text1.Text)(0) Exit For End If Next Set myReg = Nothing ご参考になれば。。。。。

nonoan11
質問者

お礼

大変参考になりました。ご丁寧な回答ありがとうございます。 複数回「goo」が出る場合、 ボタンをもう一度押すと次の「goo」の前後の文を取り出すという部分について 考えてみたいと思います。

関連するQ&A

  • 教えてgooのお礼について

    教えてgooで回答をもらうことにとても感謝しています。でもいっぽうで、お礼がどうしたらよいか分からないことがあります。 1:回答数があまりに多いときなど、まとめて回答してしまうときがあります。でも、1コ1コの回答がとても長文だった場合、これでいいのかな…と悪い気もします。自分はまとめてお礼されてもぜんぜん平気なのですが、やっぱり回答した側からすればショックなのでしょうか?それともこれでいいんでしょうか?また、回答数が少なくてまとめてお礼することについてどう思いますか? 2:ものすごく長文の回答をもらい、その内容が意図と全くずれていて、後から書かれた短い回答で解決したとします。補足やお礼で「ずれていました」と言うのも、長い回答なのにポイントも心からのお礼も短い文のほうにするのも、あまりにも長文の回答者に悪いと思ってしまうのですが、こんな場合どうしていますか? 3:回答ありがとうございました、だけですますことは、やはり回答者としては悲しいことなのでしょうか? 4:たくさん回答があって、1人の回答にだけとっても感謝したとします。みんなには「回答ありがとうございます」だけでその人にだけ長々とお礼を書いても大丈夫なのでしょうか? 5:回答にものすごく感謝して、なのに言葉が浮かんでこなくて簡単なお礼で終わらせることがよくあります。ものすごい感謝を伝えたいのに、感謝を伝える言葉を作るのがめんどくさいと感じてしまいます。何かこんなときに使えるよい文はありますか? 6:この人にはお礼したくない、という回答にも、やはりお礼すべきですよね?みなさんはどうしていますか?

  • VBのデータベース接続がわかりません

    javaでデータベース接続する場合はお決まりの 定型文みたいなものがあると思うのですが VBの場合はデータベースからのデータ取得方法が 何パターンもあって理解に苦しみます。 データ取得方法の各パターンが完結に整理されている サイトはありませんでしょうか データベース接続方法が何パターンもあって挫折しそうです また、簡単にデータ取得方法の概念というか枠組みというか 決まりごとみたいなものをわかりやすく教えていただけません でしょうか 宜しくお願いします

  • 数字の組み合わせパターンの取得について

    a組 1,2,3,4,5,6,7,8,9 b組 1,2,3,4,5,6,7,8,9 c組 1,2,3,4,5,6,7,8,9 上記のような各組から、それぞれ1つずつ番号を選択し 出来上がる組み合わせパターン全てを取得したいのですが どうしてもうまく取得できません。 各組の番号の重複はしないように取得したいので 9*8*7=154の組み合わせ全てを取得したいです。 (計算合ってますかね・・・) 例○:1,2,3 2,1,3 ・・・ 例×:1,2,1 2,4,4 ・・・ 質問も初めてなので、書き方など不明な点や不手際があれば あわせてご回答いただけると感謝です。

    • ベストアンサー
    • PHP
  • VBでRegisterWindowMessage関数を利用したメッセージの取得 2

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=1042889 の質問者の方と同じことで悩んでおります。 ---回答引用--- (1)VB側のウインドウハンドル(Me.hWnd)をAPIに渡す。 (2)RegisterWindowMessage("キーワード")でメッセージIDを取得する。 (3)VB側のウインドウをサブクラス化して、(2)のメッセージIDをフックする。 -------------- ということなのですが、 (1)は解決できたと思います。 (2)で、メッセージIDを取得する方法で悩んでいます。 "キーワード"は任意の文字列でいいのでしょうか? APIを使用するのが初めてで、いろいろ調べたのですが、なかなか理解できないで困っております。 APIについておすすめのURLでもよいので教えていただけますでしょうか?

  • 【VB2005】ヘルプの使い方

    お世話になります。 Visual Basic 2005のヘルプの使い方について質問です。 ---------------------------------------------------------------- (1)ダイナミックヘルプが表示されない。  例:Stringを選択している状態で、「現在の選択範囲で使用できる リンクはありません」と表示される。) (2)キーワード検索を行うため、文字を入力したのですが検索候補が 表示されない。それ伴い、キーワード検索結果と目次の同期がと れない。フィルタ条件が選択できない。(リストがない) 例:キーワードに「AppendTextメソッド」と入力しても検索候補 のカーソルが「移動」へ行き、その状態から変わらない。 (3)MSDNライブラリのコラムや記事が存在しない。 ---------------------------------------------------------------- (1)~(3)までを表示(利用)できるようにしたいのですが、 どうすればよろしいでしょうか? お手数ですが、ヘルプのヘルプをお願い致します。<(_ _)>

  • 教えてgooのたくさん回答している人について

    教えてgooを利用し始めて、ずいぶん経ちました。何度も助けられ、感謝しています。しかし一方で、疑問とか不満とかもたくさんでてきました。気になるので、感じ悪いかもしれませんが、質問させていただきます。 1:恥ずかしい質問をしたいとき、自分のidが自分だと知り合いにわかってしまうものだった場合、どうしていますか?また、たくさん回答していて、ある程度教えてgoo内で知られているかな、というidだった場合もどうしていますか?知り合いに自分のidだとばれていなければよく知られたidでも平気なのでしょうか? 2:教えてgoo内で知り合った、もしくは元々知り合いっぽい雰囲気をもった回答やお礼をたまに見かけます。教えてgooでの出会い、またはオフ会などはあるのでしょうか? 3:別に仲良くも知り合いでもない人が、「◎さんこんにちは、△です」のような親しげな感じで始めていることをよく見かけます。それがとっても気にくわないのですが、その人達はいったい何が目的なんでしょうか? 4:特に適切な答えを持っているわけでもなく、やたらと回答している人がいます。。〈自分はけっこうモテるのですが…と回答しつつ、一方でモテたい系の質問をしまくっているなど)この人達は何が目的なんでしょうか? 5:教えてgoo内で、望まれてもいないのに、やたらと自分をアピールした回答をする人がいます。自分自身がすごく魅力的なように書いていますが、自意識過剰のようにしか見えません。ていうかそんなこと聞いてないし…とか思うし、その文を読んで魅力的にも感じません。この人達の目的も何でしょう?

  • goo検索結果に覚えのないアダルトサイトが!

    gooで、自分の名前をキーワードとして検索してみたところ、 結果の中に、1つだけ、 見出しと説明文は自分でも馴染みのもので整合性があるのに、 URL部分だけが知らないアダルトサイトになっているものが入っていました。 とても迷惑に感じていますが、どうしてこのような結果が 出たのかわかりません。 考えられる理由と対策を教えて下さい。

  • なんで、質問文に書いていないことを知っているの?

    教えてgooでの出来事です。 私だけではないのですが、御回答者さんの中に質問文には触れられていない質問者のことを知っている人がいます。 質問例)「彼氏からのメールが来なくて悩んでます」(本文がこれだけだとしますよね) 回答例)「そりゃあ、お辛いでしょう。でも、高校生ならもう少し落ち着いて」 あれあれ?? 回答者さんに聞きたいんですけど、質問者さんはどこで自分が高校生だと言いましたか??? 見たいな感じです。 どこから情報を仕入れているんでしょうか?

  • いろんな意味でどなたにポイントをあげればいいのか分かりません

    いろんな意味とは、 ・件数が十数件もある事。 ・自分の質問に対して明確な回答を得られなかった事。 ・感謝の度合いが同じくらいなのが幾つもある事。 こんな感じです。 物凄く適切なアドバイスでとても感謝する回答が1つでもあれば、それを20ptにして締め切るのがこういう場合の自分のパターンなのですが、 今回はどれもそこまでヒットしなくて、でも質問にはまともに答えてもらっているので、誰を選んでいいのか本当に悩んでいます。 こういう場合、皆様ならどういう対応をしますか。 どうぞ宜しくお願い致します。

  • この日本語の文の意味を説明していただけませんか。

    この日本語の文の意味を説明していただけませんか。 「彼はどんなに尽くされようと、文句は言っても感謝することがない。」 選択の問題も例で出てきた文なのですが、「尽くした」のはだれか、とか、どうも意味をつかめなくて困っています。前後に文がありません。この文だけで、どう理解すればいいでしょうか。教えていただけないでしょう。

専門家に質問してみよう