我将这项任务作为更大潜艇的一部分来完成,以大幅减少不同团队的工作量。
我正在尝试读取字符串并使用正则表达式用单个空格(或另一个字符)替换一对多空格。目前我使用的是本地字符串,但是在主子中,此数据将来自外部 .txt 文件。此 .txt 中元素之间的空格数可能因行而异。
我正在使用下面的代码,并用破折号替换空格。我在下面的代码上尝试了不同的变体和不同的逻辑,但总是在“c = re.Replace(s,replacement)”行上得到“运行时错误'91':对象变量或时钟变量未设置”
使用断点后,我发现我的正则表达式(re)是空的,但我不太清楚如何从这里开始。如何用破折号替换我的空格?我已经解决这个问题几个小时了,大部分时间都花在谷歌上,看看是否有人遇到过类似的问题。
Sub testWC()
Dim s As String
Dim c As String
Dim re As RegExp
s = "hello World"
Dim pattern As String
pattern = "\s+"
Dim replacement As String
replacement = "-"
c = re.Replace(s, replacement)
Debug.Print (c)
End Sub
额外信息:使用 Excel 2010。已成功链接我的所有参考资料(Microsoft VBScript 正则表达式 5.5”。我成功地能够使用香草“替换”功能替换空格,但是由于元素之间的空格数量不同,我无法用它来解决我的问题。
Ed:我的 .txt 文件也不是固定的,有许多不同长度的行,所以我也无法在 excel 中使用 MID 函数来剖析字符串
请帮忙
谢谢,
JH