dポイントプレゼントキャンペーン実施中!

任意の長さのテキスト文があるとします。
str0 = "今日の天気は晴れです。"
この文で、「天気は」という文字列以前、あるいは以降の文をすべて取得するにはどうしたらよいでしょうか。

最終的な目的は「晴れ」という文字列を抜き出したいだけですので、別の方法があればそちらでも構いません。ただし、その文に「晴れ」という文字が入っているかどうかは取得前は不明ですので、「晴れ」を検索語にする方法ではありません。また、「天気は」、「です。」の文字は確実に文章に含まれているのですが、何文字目にあるかということも不明の場合を想定しています。

次のようなプロセスを考えています。
1.str0から「天気は」以降の文を取得 → str1 = "晴れです。"
2.str1から「です。」以前の文を取得 → str2 = "晴れ"

A 回答 (1件)

お早うございます。



こんな感じで如何でしょうか。

Sub 文字列取得()
  Dim str0    As String
  Dim str1    As String
  Dim str2    As String
  Dim wFindStr  As String
  '
  str0 = "今日の天気は晴れです。"
  
  'str0から「天気は」以降の文を取得
  wFindStr = "天気は"
  str1 = Mid(str0, Len(wFindStr) + InStr(1, str0, wFindStr))
  '
  'str1から「です。」以前の文を取得
  wFindStr = "です。"
  str2 = Left(str1, InStr(1, str1, wFindStr) - 1)
End Sub
    • good
    • 1
この回答へのお礼

ありがとうございます。おかげさまで出来ました。

お礼日時:2007/06/30 19:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A