こんにちは。
自分史上初めて投稿します。
テキストファイルを簡単に操作出来るということを聞いて、さいきんVBSを勉強し始めました。
そこで、特定のファイルの中身を読み込んで配列関数を使い配列に格納した後、特定の文字列が含まれる場合には別の文字列へと変換したいと思っているのですが、正規表現が上手くいきません(汗)
どなたか助けていただけませんでしょうか?
それともそもそも正規表現が使えないなんてことはないですよね・・・?
よろしくお願いいたします。
ちなみに書いたコードは↓
Set WSHFso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim strSearchWord
Set tmpFile = WSHFso.OpenTextFile("C:\Documents and Settings\●●●\○○.txt")
Do Until tmpFile.AtEndOfStream
tmpLine = tmpFile.ReadLine
strSearchWord = strSearchWord & tmpLine & vbcrlf
Loop
Dim SearchWord
SearchWord = split(strSearchWord,"")
Select Case SearchWord(9)
'ここで『東京』というワードが含まれる場合に別処理を走らせたいのです・・・。
Case "*" & "東京" & "*"
msgbox SearchWord(10)
Case Else
msgbox SearchWord(101)
End Select
No.2ベストアンサー
- 回答日時:
配列SearchWordの要素の文字列を置換したいのでしたら下のような感じでしょうか。
Select Caseステートメントでは正規表現は使えないと思います。Windows XP SP2 + WSH VBScript 5.6で試しました。
-----
Dim strSearchWord
Dim SearchWord
strSearchWord = "東京 東京駅 西東京 西東京は東京の西 品川"
SearchWord = Split(strSearchWord," ")
Set regEx = New RegExp
regEx.Pattern = "東京"
regEx.Global = True
For ix=0 to UBound(SearchWord)
SearchWord(ix) = regEx.Replace(SearchWord(ix), "神田")
Next
WScript.Echo Join(SearchWord, " ")
-----
なお、特定の単純な文字列が含まれているか調べるには、正規表現を使わなくてもInStr関数でよさそうです。「別処理」でやりたいことの内容にもよりますが。
-----
if InStr(SearchWord(ix), "東京")<>0 then
WScript.Echo SearchWord(ix) & " は東京を含みます。"
else
WScript.Echo SearchWord(ix) & " は東京を含みません。"
end if
-----
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Excel(エクセル) Excel コンボボックス バックカラー 1 2023/02/18 08:06
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
vbsでテキストファイル内の文字列検索
Visual Basic(VBA)
-
VBScriptで、ファイルから任意の行のみ取り出す方法について
その他(プログラミング・Web制作)
-
テキストファイルから特定の文字列が入った行を取得したいです。 例えば下記のような文が記載されたテキス
Visual Basic(VBA)
-
-
4
[VBS] テキストファイルから任意の値を抽出する
Visual Basic(VBA)
-
5
【vbs】ファイル名の検索と該当ファイルの削除について
その他(プログラミング・Web制作)
-
6
VBS フォルダ内にあるすべてのファイルを検索→ファイルが特定のファイルなら開く
その他(プログラミング・Web制作)
-
7
VBScript(vbs)での行の取得について
その他(プログラミング・Web制作)
-
8
VBSの処理中一旦処理を止めて再開させたい。
Visual Basic(VBA)
-
9
VBS実行時エラー オブジェクトがありません 回避方法について
Visual Basic(VBA)
-
10
CSVファイルの特定行の削除
Visual Basic(VBA)
-
11
VBSで指定行に挿入
その他(プログラミング・Web制作)
-
12
ファイル名に特定の文字列を含むファイルを開きたい
Excel(エクセル)
-
13
vbsのFolderExistsで部分一致をさせたい
その他(プログラミング・Web制作)
-
14
vbsでのアスタリスクとファイル取り込み
Visual Basic(VBA)
-
15
VBScriptでfindを使うには??
Visual Basic(VBA)
-
16
VBSから別のVBS起動するとき変数を渡したい
Visual Basic(VBA)
-
17
vbsからのExcelマクロ呼び出しの際に保存ダイアログが表示されてしまう
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbsでテキストファイル内の文字...
-
配列の値を置換するにはどうす...
-
VBAで配列に文字列が入らない?
-
COLUMN(1:1)の意味を教え...
-
excelの、ある数式内の{}の意...
-
VB6で配列を文字列に変換する方...
-
【エクセル】 関数による電子...
-
VBAのWorksheetFunctionの引数...
-
VBSで特定の文字列が含まれる場...
-
初心者プログラミング
-
○桁にある数値を取得する VB.N...
-
配列の座標指定について。
-
VB 配列の内容をファイルに書...
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
VBAでダブルコーテーション入り...
-
数字の位ごとの値を表示するプ...
-
jsp~jspにhiddenを使って変数...
-
EXCEL/VBA 変数の値をクリップ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列の値を置換するにはどうす...
-
vbsでテキストファイル内の文字...
-
excelの、ある数式内の{}の意...
-
VBAのWorksheetFunctionの引数...
-
エクセルへのデータの貼付時に...
-
数値を浮動小数点32bitHEXコー...
-
VBSで特定の文字列が含まれる場...
-
エクセル、この関数の意味は?
-
VB6で配列を文字列に変換する方...
-
COLUMN(1:1)の意味を教え...
-
VBAで配列に文字列が入らない?
-
in_addrからchar型の文字列の変換
-
RichTextBoxの改行を認知してく...
-
○桁にある数値を取得する VB.N...
-
【エクセル】 関数による電子...
-
列数の多いエクセルのデータを...
-
copyRecordsetの数値16桁以上に...
-
VB 配列の内容をファイルに書...
-
Win32APIでシリアル通信をする...
-
IFSでカンマ区切りの変数を読み...
おすすめ情報