我需要正则表达式搜索&替换将删除' n'字符串中的字符,从某个可定义的位置开始。例如,从位置5开始删除3个字符。在这种情况下,字符串
AAA。 01 7月的数据
会变成
AAA。 7月的数据
(不知道我是否已经开始计算在正确的位置0/1。这是我需要一般解决方案的一个原因。)
可以假设字符串足够长以支持操作,但如果它在一个太短的字符串上什么都不做就会非常好。
我在其中工作的应用程序有一个VBScript正则表达式引擎。我已经在网上搜索了我可以想象的这个请求的每个变体,但即使有了所有的正则表达式建议,这似乎是新的。我以为这几乎是食谱。我自己也试过这样做,但无法弄清楚如何将引擎定位在捕获点。
答案 0 :(得分:1)
假设您的应用包含配置替换的选项,您可以使用这样的反向引用替换:
(.{5}).{3}(.*)
(.{5})
匹配前5个字符.{3}
消耗接下来的3个字符(.*)
匹配所有剩余的字符反向引用替换\1\2
(取决于应用程序\\1\\2
或$1$2
)将连接匹配组1和2,因此基本上删除第二个表达式的三个字符,因为它们是没有组成一个匹配组。
答案 1 :(得分:0)
使用固定位置/长度,您还可以使用Mid
功能:
Function RemoveSubstring(str, start, length)
RemoveSubstring = Mid(str, 1, start - 1) & Mid(str, start + length)
End Function