在excel vba中操作文本文件,在整数前面加2(删除未知数量的空格)



我有一个相当长的文件(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

最新更新