gpt4 book ai didi

vba - 使用正则表达式替换文本文件中的所有文本

转载 作者:行者123 更新时间:2023-12-02 07:52:41 34 4
gpt4 key购买 nike

我有一个包含以下文本的文本文件

161624.406 : Send:[sometext1]161624.437 : Send:[sometext2]161624.468 : Send:[sometext3]161624.499 : Send:[sometext4]161624.531 : Send:[sometext5]

I want to keep only the sometext part in that file. Desired output is

sometext1sometext2sometext3sometext4sometext5

I am using the following code in Excel-VBA

Public Sub testa()
a = "C:\Users\pankaj.jaju\Desktop\test.log"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTxtFile = objFSO.OpenTextFile(a, 1)
strText = objTxtFile.ReadAll
objTxtFile.Close
Set objTxtFile = Nothing


Set objRegEx = CreateObject("VBScript.RegExp")
With objRegEx
.Global = True
.MultiLine = True
.Pattern = "\[([^]]+)\]"
Set objRegMC = .Execute(strText)
b = objRegMC(0).SubMatches(0)
End With
Set objRegEx = Nothing

Debug.Print b
End Sub

问题是输出仅显示为sometext1。如何在文本文件中ReplaceAll并仅使用所需文本保存文件。

最佳答案

regex.Replace 方法应该可以解决问题。

将模式分成如下组:"(.*?)(\[)([^]]+)(\])(.*?)"

现在您可以将输入字符串替换为匹配组,在本例中为第三组:objRegEx.Replace(strText, "$3")

<小时/>

这是一个helpful link Excel 中正则表达式的不同示例。

关于vba - 使用正则表达式替换文本文件中的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23766435/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com