VB:从字符串中读取“x”整数并替换它

时间:2012-09-06 08:14:22

标签: string vbscript replace integer

首先,我不是来自编程背景,而是全新的VB。出于某些原因,我必须在办公室做一个小的脚本任务。

我在其他论坛上也经历过很多帖子,但无法找到所需的信息。

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

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

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

e.g:

转换:“有10个苹果” - 其中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

2 个答案:

答案 0 :(得分:1)

好吧,您可以使用regular expressions查找任何数值,然后将其替换为:

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 

enter image description here

This页面包含您需要的所有信息。

答案 1 :(得分:1)

您可以RegularExpressions使用Regex.Replace method

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方法。