首先,我不是来自编程背景,而是全新的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
答案 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
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方法。