2012-09-06 16 views
1

首先,我不是從編程背景開始,而是全新的VB。出於某些原因,我必須在辦公室做一個小型的腳本任務。VB:從一個字符串中讀取「x」整數並替換它

我已經在這裏經歷了很多帖子,以及在其他論壇上,但無法找到所需的信息。

好了,所以這裏就是我需要做的:

我想找到一個字符串一個整數(整數可以是任何從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

_「由於種種原因,我要做一個小的** **的腳本任務 在辦公室」 _你確定你想用VB.NET而不是VBScript或VBA,這是完全不同的幫助? –

+0

你想寫一個單詞或Excel的宏或...?這有多強勁?我的意思是,這可能發生:「有10個蘋果」 –

+0

對不起,如果我不清楚。我需要VBScript幫助(.vbs文件)。 我想要一個批處理文件(我已經準備好)來運行這個VBScript並編輯我在同一個文件夾中的一個.xml文件。 – LoveEnigma

回答

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頁面包含您需要的所有信息。

+0

謝謝。腳本很好。現在我正試圖將其整合到我的文件中,並根據我的確切要求進行工作。會詢問我是否有任何進一步的問題,或將發佈我的工作成果。 – LoveEnigma

+0

現在或者我成功完成我的實際任務後,我應該將其標記爲「已接受」嗎?這是我在論壇上的第一篇文章,所以不確切地知道。 :) – LoveEnigma

+0

好的,我做到了。 :) 但是,我還沒有得到我的確切工作。將詢問是否需要。 – LoveEnigma

1

您可以使用RegularExpressionsRegex.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方法。

+0

沒問題。不過謝謝。 :) – LoveEnigma

相關問題