
こんにちは。
自分史上初めて投稿します。
テキストファイルを簡単に操作出来るということを聞いて、さいきん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も見ています
-
VBScriptで、ファイルから任意の行のみ取り出す方法について
その他(プログラミング・Web制作)
-
テキストファイルから特定の文字列が入った行を取得したいです。 例えば下記のような文が記載されたテキス
Visual Basic(VBA)
-
vbsでテキストファイル内の文字列検索
Visual Basic(VBA)
-
-
4
VBscript
Visual Basic(VBA)
-
5
VBSから別のVBS起動するとき変数を渡したい
Visual Basic(VBA)
-
6
[VBS] テキストファイルから任意の値を抽出する
Visual Basic(VBA)
-
7
VBS フォルダ内にあるすべてのファイルを検索→ファイルが特定のファイルなら開く
その他(プログラミング・Web制作)
-
8
VBS パスに変数を入れたい
その他(プログラミング・Web制作)
-
9
【vbs】ファイル名の検索と該当ファイルの削除について
その他(プログラミング・Web制作)
-
10
VBSの処理中一旦処理を止めて再開させたい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列の値を置換するにはどうす...
-
vbsでテキストファイル内の文字...
-
VC++について (VBで言うところ...
-
VB.NET 2つの配列を連動して並...
-
Rubyでforループの中のハッシュ...
-
数値を浮動小数点32bitHEXコー...
-
エクセル、この関数の意味は?
-
excelの、ある数式内の{}の意...
-
エクセルへのデータの貼付時に...
-
これ以上省略することは出来な...
-
COLUMN(1:1)の意味を教え...
-
初心者プログラミング
-
○桁にある数値を取得する VB.N...
-
VBAのWorksheetFunctionの引数...
-
複数ディレクトリの監視(VB.NET...
-
VB.NET 2次元配列
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
テキストボックスの値を変数に...
-
VB6.0-整数と余りを求める
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
-
vbsでテキストファイル内の文字...
-
VBAのWorksheetFunctionの引数...
-
エクセル、この関数の意味は?
-
COLUMN(1:1)の意味を教え...
-
数値を浮動小数点32bitHEXコー...
-
エクセルへのデータの貼付時に...
-
○桁にある数値を取得する VB.N...
-
VB6で配列を文字列に変換する方...
-
VBAで配列に文字列が入らない?
-
RichTextBoxの改行を認知してく...
-
copyRecordsetの数値16桁以上に...
-
【エクセル】 関数による電子...
-
複数ディレクトリの監視(VB.NET...
-
VBSで特定の文字列が含まれる場...
-
VB.NET 2つの配列を連動して並...
-
Javaのプログラムをルビー言語に。
-
VB 配列の内容をファイルに書...
-
ruby on railsのscaffoldで配列...
おすすめ情報