-1
Q
搜索和劃分數字串
A
回答
2
你的頂級任務是修改結構化文本中的小文件。這種任務的'設計模式'是:
Get a FileSystemObject
Specify the full file path
Read the content
Modify the content
Write the modified content back
您的修改的子任務涉及非常數/變化部分的計算;那麼「RegExp.Replace與功能」的策略應使用:
Define a RegExp (global, identify the parts to change)
.Replace(input, GetRef("function to do the computations on the parts"))
在你的情況下,該功能應該在(串)部分轉換爲數字,然後劃分,並返回轉換爲字符串的結果。
在代碼:
Option Explicit
Const FSPEC = "..\testdata\txt\19556079.txt"
Dim oFS : Set oFS = CreateObject("Scripting.FileSystemObject")
Dim sAll : sAll = Modify(oFS.OpenTextFile(FSPEC).ReadAll())
oFS.CreateTextFile(FSPEC).Write sAll
WScript.Echo oFS.OpenTextFile(FSPEC).ReadAll()
Function Modify(s)
Dim re : Set re = New RegExp
re.Global = True
re.Pattern = "\d+"
Modify = re.Replace(s, GetRef("FiMoReFunc"))
End Function
Function FiMoReFunc(sM, sP, sS)
FiMoReFunc = CStr(CDbl(sM)/1024)
End Function
對於更花式輸出:
FiMoReFunc = Right(Space(20) & FormatNumber(CDbl(sM)/1024, 1, True) & " Unit", 20)
輸出:
Windows 6,390,395.9 Unit
Linux 4,428,372.5 Unit
MacOS 3,480.8 Unit
Ubuntu 8,042,623.3 Unit
1
試試這個
Option Explicit
Const FILE = "output.txt"
Dim fso
Dim ts,line
Dim match,matches
Dim os,mem
Set fso = CreateObject("Scripting.FilesystemObject")
Set ts = fso.OpenTextFile(FILE)
With New RegExp
.IgnoreCase = True
While Not ts.AtEndOfStream
line = ts.ReadLine
.Pattern = "[a-z]+"
Set matches = .Execute(line)
For Each match In matches
os = match.Value
Next
.Pattern = "\d+"
Set matches = .Execute(line)
For Each match In matches
mem = (CDbl(match.Value)/1024)
Next
WScript.Echo os & vbTab & mem
Wend
End With
Set ts = Nothing
Set fso = Nothing
WScript.Quit
相關問題
- 1. 劃分關鍵字搜索
- 2. 字符串拆分和搜索VB.NET
- 3. 搜索部分字符串
- 4. 數字搜索字符串
- 5. sed命令來搜索字符串和搜索的字符串
- 6. 分割字符串,搜索和翻譯子字符串JAVA
- 7. Lucene.net搜索和下劃線
- 8. Lucene搜索和下劃線
- 9. 劃分字符串
- 10. 字符串劃分
- 11. 字符串搜索數組
- 12. 搜索字符數組串
- 13. 字符串的兩位數字劃分
- 14. Matlab的字符串搜索和索引
- 15. TSql字符串搜索模仿部分字符串確切和部分不
- 16. 搜索數據和得分
- 17. 搜索字母數字字符串
- 18. 搜索分隔字符串列
- 19. 搜索部分字符串PHP
- 20. VBA練成部分字符串搜索
- 21. NSComparisonResult搜索部分字符串?
- 22. 空格分隔MySQL字符串搜索
- 23. 搜索字符串w /分隔符
- 24. 在C++中部分字符串搜索
- 25. sql server部分字符串搜索
- 26. 用部分搜索字符串搜索聯繫人
- 27. 訪問搜索表單 - 搜索分隔字符串
- 28. 安卓搜索欄劃分行業
- 29. 搜索字符串
- 30. 字符串搜索
-0.49不限定正則表達式出線迴路和濾波OS的並記憶到匹配循環中的最後一次出現。 –
它與給定的示例數據文件一起工作,並希望證明RegExp是此處的關鍵對象。問題作者顯然有足夠的技巧來解析他/她需要的東西 – Jobbo