如何仅按位置删除字符串中的字符?

用户名

我需要一个正则表达式搜索与替换对,将从一对可定义的位置开始从字符串中删除“ n”个字符。例如,删除从位置5开始的3个字符。在这种情况下,字符串

AAA。7月01数据

会成为

AAA。七月份的数据

(不知道我是否已经开始在0/1的正确位置进行计数。这就是我需要一般解决方案的原因之一。)

可以假设字符串足够长以支持该操作,但是如果字符串太短则不执行任何操作,则将非常好。

我正在使用的应用程序具有VBScript正则表达式引擎。我已经在网络上搜索了我能想到的此请求的所有变化,但是即使有所有正则表达式建议,这似乎也是新的。我以为那几乎是菜谱。我也尝试过自己做,但是不知道如何将引擎定位在捕获点。

狗鼻

假设您的应用程序包含配置替换项的选项,则可以使用反向引用替换,如下所示:

(.{5}).{3}(.*)
  • (.{5}) 匹配前5个字符
  • .{3} 消耗接下来的3个字符
  • (.*) 匹配所有剩余字符

后向引用替换\1\2(取决于应用程序\\1\\2$1$2)将连接匹配组1和2,因此基本上删除了第二个表达式的三个字符,因为它们没有形成匹配组。

https://regex101.com/r/aC8fQ9/2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章