
任意の長さのテキスト文があるとします。
str0 = "今日の天気は晴れです。"
この文で、「天気は」という文字列以前、あるいは以降の文をすべて取得するにはどうしたらよいでしょうか。
最終的な目的は「晴れ」という文字列を抜き出したいだけですので、別の方法があればそちらでも構いません。ただし、その文に「晴れ」という文字が入っているかどうかは取得前は不明ですので、「晴れ」を検索語にする方法ではありません。また、「天気は」、「です。」の文字は確実に文章に含まれているのですが、何文字目にあるかということも不明の場合を想定しています。
次のようなプロセスを考えています。
1.str0から「天気は」以降の文を取得 → str1 = "晴れです。"
2.str1から「です。」以前の文を取得 → str2 = "晴れ"
No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい
Visual Basic(VBA)
-
ある特定の文字以降全て削除したいです。
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
5
【VBA】テキストファイルから特定の文字列を抽出して、エクセルに出力する
Excel(エクセル)
-
6
【Excel VBA】複数ある特定の文字列を含む行を削除
Excel(エクセル)
-
7
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
ExcelのVBAで連番を振る。
Excel(エクセル)
-
10
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
11
マクロで#N/A"のエラー行を削除したい"
Visual Basic(VBA)
-
12
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
13
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
14
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
15
【VBA】2つのシートの値を比較して条件一致したら、同じ行の隣の値を別ブックへ転記したいです。 VB
Visual Basic(VBA)
-
16
Vba エクセルマクロで、 A列の、A1セルからA10セルに空白のある行を削除する、のは Range
Excel(エクセル)
-
17
【VBA】特定の文字で改行(次の行)に行きたい。
Visual Basic(VBA)
-
18
Excel テーブル内の空白行の削除
その他(Microsoft Office)
-
19
フレーム内に移動したい
Visual Basic(VBA)
-
20
キャンプのお昼ご飯
ピクニック・キャンプ
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「取得先」という表現について
-
ps3で久しぶりにCDの音楽情報取...
-
ASPでIPアドレスの逆引きした結...
-
INIファイル
-
format関数について
-
各クライアントマシンのログイ...
-
Yahoo! JAPAN IDを新規取得でき...
-
ローカルのコンピュータ名を取...
-
WebBrowserコンポーネントでリ...
-
EXCEL、マクロ-改ページ行番号...
-
ExcelVBAで、FileSystemObject...
-
VB.NETでボリュームを取得・設...
-
Excel VBA:特定の文字列以降(...
-
【VBA】EXCELブックを開かずに...
-
PHPを使って、別サイトの一部を...
-
VBS「開いているページ」のURL...
-
(Win32)ファイルパスから物理ド...
-
iphlpapiのGetAdaptersInfoでNI...
-
VB+SQLserverでRecordCount問題
-
【PHP】APIやRSSが存在しないサ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
コンビニで住民票を取得した場...
-
EXCEL、マクロ-改ページ行番号...
-
Yahoo! JAPAN IDを新規取得でき...
-
ps3で久しぶりにCDの音楽情報取...
-
スクレイピングに適した言語を...
-
VB+SQLserverでRecordCount問題
-
format関数について
-
IPアドレスとMACアドレスを取得...
-
VBAでPDFのアクティブページ番...
-
PHPを使って、別サイトの一部を...
-
【VBA】EXCELブックを開かずに...
-
IPアドレス変更方法
-
VB.NETでボリュームを取得・設...
-
ログイン処理を自動で行い、目...
-
VB2005でXMLデータから複数ある...
-
curlで取得出来るデータの制限...
-
グーグルページランクの取得方法
-
アメブロでテーマを指定したRSS...
おすすめ情報