1

首先,我不是编程背景,对 VB 完全陌生。由于某些原因,我不得不在办公室做一个小的脚本任务。

我在这里以及其他论坛上浏览了许多帖子,但无法找到所需的信息。

好的,这就是我需要做的:

我想从字符串中找到一个整数(整数可以是 5 到 4095 之间的任何一个),然后用我选择的整数替换它。

我做了一些分析,但找不到可以从字符串中搜索“任何”整数的函数。搜索固定整数工作正常。

例如:

转换:“有 10 个苹果”——其中 10 可以是 5 到 4095 之间的任何数字,我不知道。

To:“有 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" '

编辑:只看到你需要一个 vbscript 而不是 VB.NET 方法。

于 2012-09-06T08:32:58.857 回答