
こんにちは。
自分史上初めて投稿します。
テキストファイルを簡単に操作出来るということを聞いて、さいきん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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
vbsでテキストファイル内の文字列検索
Visual Basic(VBA)
-
VBscript
Visual Basic(VBA)
-
VBScriptで、ファイルから任意の行のみ取り出す方法について
その他(プログラミング・Web制作)
-
-
4
テキストファイルから特定の文字列が入った行を取得したいです。 例えば下記のような文が記載されたテキス
Visual Basic(VBA)
-
5
vbsのFolderExistsで部分一致をさせたい
その他(プログラミング・Web制作)
-
6
VBSから別のVBS起動するとき変数を渡したい
Visual Basic(VBA)
-
7
[VBS] テキストファイルから任意の値を抽出する
Visual Basic(VBA)
-
8
【vbs】ファイル名の検索と該当ファイルの削除について
その他(プログラミング・Web制作)
-
9
VBS フォルダ内にあるすべてのファイルを検索→ファイルが特定のファイルなら開く
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB 配列の内容をファイルに書...
-
excelの、ある数式内の{}の意...
-
VB6で配列を文字列に変換する方...
-
【エクセル】 関数による電子...
-
vbsでテキストファイル内の文字...
-
配列の座標指定について。
-
コンボボックスの名前を変数に...
-
世界のナベアツ
-
VBAの定数の使い方で、計算値を...
-
VBAでダブルコーテーション入り...
-
余剰演算子について教えてください
-
ラズベリーパイ B でgpioを使っ...
-
エラーの意味は? Lvalue req...
-
2つの列で重複するキーの数と...
-
プログラミングで変数と関数の...
-
VBA 1行で複数の代入を行った...
-
ラジオボタンの値の取得につい...
-
足して100になるような乱数のア...
-
jsp~jspにhiddenを使って変数...
-
C#で動的にコントロールを取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbsでテキストファイル内の文字...
-
VBAのWorksheetFunctionの引数...
-
excelの、ある数式内の{}の意...
-
COLUMN(1:1)の意味を教え...
-
配列の値を置換するにはどうす...
-
エクセル、この関数の意味は?
-
初心者プログラミング
-
RichTextBoxの改行を認知してく...
-
エクセルへのデータの貼付時に...
-
配列に入った文字列を結合した...
-
数値を浮動小数点32bitHEXコー...
-
○桁にある数値を取得する VB.N...
-
列数の多いエクセルのデータを...
-
VB 配列の内容をファイルに書...
-
basp21のアップロード
-
C#の問題です。 文字列型の配列...
-
PythonでLoopを使って配列内の...
-
何故ただのvariant型と定義され...
-
シートからシートへのコピー
-
in_addrからchar型の文字列の変換
おすすめ情報