1

まず第一に、私はプログラミングのバックグラウンドではなく、VB はまったくの初心者です。何らかの理由で、オフィスで小さなスクリプト作成タスクを実行する必要があります。

ここでも他のフォーラムでも多くの投稿を確認しましたが、必要な情報を見つけることができませんでした。

わかりましたので、ここで私がする必要があることは次のとおりです。

文字列から整数 (整数は 5 から 4095 までの任意の値) を検索し、それを任意の整数に置き換えたいと考えています。

いくつかの分析を行いましたが、文字列から「任意の」整数を検索できる関数を見つけることができませんでした。固定整数の検索は正常に機能しています。

例えば:

変換: "There are 10 apples" - ここで、10 は 5 から 4095 までの任意の数字で、私にはわかりません。

宛先: 「リンゴが 5 個あります」 - 5 は手動で指定する番号です。

どんな助けでも大歓迎です。

ありがとうございました。

編集

最終コード:

Set objFSO = CreateObject("Scripting.FileSystemObject") 
strFile = "C:\Users\inkasap\Desktop\temp\IOParams_Backup.xml" 
Set objFile = objFSO.OpenTextFile(strFile) 
Do Until objFile.AtEndOfStream strLine = objFile.ReadLine 
    Dim re, strLine 
    Set re = New RegExp 
    if InStr(strLine,"name=""BIOSCUPP") > 0 Then 
        re.Pattern = "\d+" 
        Set colMatch = re.Execute(strLine) 
        For Each objMatch In colMatch 
           strLine = Replace(strLine, objMatch.Value, "30") 
        Next end 
    if WScript.Echo strLine 
Loop
4

2 に答える 2

1

さて、正規表現を使用して数値を検索し、それを置き換えることができます。

Dim re, test
Set re = New RegExp
re.Pattern = "\d+"

test = "There are 4000 apples"

Set colMatch = re.Execute(test)
For Each objMatch In colMatch
    MsgBox(Replace(test,objMatch.Value,"5"))
Next 

ここに画像の説明を入力

このページには、必要なすべての情報が含まれています。

于 2012-09-06T08:32:52.890 に答える
1

RegularExpressionswithRegex.Replaceメソッドを使用できます。

Dim str = "There are 10 apples"
Dim regex = New System.Text.RegularExpressions.Regex("\d+", System.Text.RegularExpressions.RegexOptions.Compiled)
Dim replaced = regex.Replace(str, "5") ' "There are 5 apples" '

編集: VB.NET アプローチの代わりに vbscript が必要であることがわかりました。

于 2012-09-06T08:32:58.857 に答える