Notepad++中通过RegEx批量替换LODPhases下指定浮点列的方法问询
Notepad++ 正则批量替换指定文本块内指定列方案
完全可以通过正则实现批量替换,操作步骤如下:
- 按下
Ctrl+H快捷键打开「替换」面板 - 「查找目标」输入以下正则表达式:
(?:(LODPhases\h+4)|\G(?!^))(\R\h+)\d+\.\d+\h+\d+\.\d+(\h+\d+\h+\d+)
- 「替换为」输入替换模板,将模板内的
[第一列目标值]、[第二列目标值]替换为你实际需要的浮点数值即可:
$1$2[第一列目标值] [第二列目标值]$3
举个例子:如果你需要把前两列统一替换为
0.111111和0.999999,则替换为内容填写$1$20.111111 0.999999$3
- 「搜索模式」选择正则表达式,不要勾选「点匹配换行符」选项
- 点击「全部替换」即可完成批量处理
正则逻辑说明
(?:(LODPhases\h+4)|\G(?!^)):非捕获组限定匹配范围,要么匹配LODPhases 4开头的目标块起始行,要么匹配上一次替换结束的位置,确保只会处理目标块内的内容,不会误改其他无关文本(\R\h+):捕获行首的换行符和缩进空白,替换时保留原有格式\d+\.\d+\h+\d+\.\d+:匹配要替换的前两列浮点数值(\h+\d+\h+\d+):捕获后两列的数值和间隔空白,替换时原封不动保留
注意事项
如果你的文件中LODPhases和数字4之间的空格数是固定的,可以把正则里的\h+换成对应数量的空格,匹配精度更高,避免误匹配其他LOD配置行。
内容的提问来源于stack exchange,提问作者Runsva
相关产品推荐
相关产品推荐

