我有一个相当长的文件(479394行),其中包含我试图与另一个模型组合的FEM模型的节点和元素编号。要做到这一点,我想在所有数字上加2,以确保在组合两个模型时,我有唯一的节点/元素编号。这应该是直截了当的,但是我不知道如何用数字2替换后面的几个空格。它可以是3个空格,可能是2个,可能是5个,依此类推(删除未知数量的空格)。
Sub readTextFile()
strFileName = "Z:Prosjekt32637FEMRP_32637_PR_02_DFEMkim2.dat"
Open strFileName For Input As #1
dataArray = Split(input$(LOF(1), #1), vbLf)
Close #1
For Each element In dataArray
If InStr(element, "CTETRA") Or _
InStr(element, "PSOLID") Or _
InStr(element, "CELAS1") Or _
InStr(element, " ") Or _
InStr(element, "GRID") Then
element = Replace(element, "remove unknown number of spaces", "2")
End If
'write back to file
Next element
End Sub
这是我的输入文件的精简版本(129行)的链接,这是我想要实现的输出
考虑下面的片段,它用"2"替换字符串中的连续空格:
With CreateObject("VBScript.RegExp")
.Global = True
.MultiLine = True
.IgnoreCase = True
.Pattern = " +"
element = .Replace(element, "2")
End With