VB.NET中Regex.Replace正则替换值未按正则生效问题求助
VB.NET Regex.Replace 替换div.数字为div数字的正确写法
你的问题核心是替换字符串并非正则表达式,你之前写的div\d里的\d会被当作普通文本输出,而非匹配数字的元字符。要实现需求,需要通过捕获组保留匹配到的数字,再在替换时引用这个组。
正确实现步骤:
- 修改正则表达式,用括号捕获
div.后面的数字,形成捕获组:div\.(\d) - 替换字符串使用
div$1,其中$1代表第一个捕获组匹配到的具体数字
VB.NET 代码示例:
newstr = Regex.Replace(strFile, "div\.(\d)", "div$1")
扩展:处理多位数情况
如果文件里存在div.12、div.345这类多位数内容,只需把正则里的\d改成\d+即可:
newstr = Regex.Replace(strFile, "div\.(\d+)", "div$1")
内容的提问来源于stack exchange,提问作者Mahag
相关产品推荐
相关产品推荐

