Visual Studio正则替换换行符解析异常,如何切换替换模式?
Visual Studio正则替换换行符问题解决办法
问题场景
遇到错误顺序的换行符字符串\n\r,用正则(?<!\r)\n\r匹配时,VS的替换行为不符合预期:
- 直接输入实际换行符,会替换成真实换行而非字符串
\r\n - 输入
\r\n,会被当作普通字符串解析成六个字符(\+r+\+n)
解决方法
- 正则替换模式下的正确转义:VS的正则替换不支持直接用
\r/\n表示控制字符,需用八进制转义码:- 用
\015代表\r,\012代表\n - 替换框输入
\015\012,即可将匹配到的\n\r替换为正确的\r\n控制字符
- 用
- 切换到纯文本替换模式:
点击查找替换窗口中的.*图标(正则匹配开关),取消勾选后,替换框输入的所有内容都会被当作字面量处理。此时输入\r\n,就会直接替换为四个字符的字符串\r\n - 确认查找选项设置:展开查找窗口的「查找选项」面板,通过勾选/取消「使用正则表达式」,在正则替换和纯文本替换模式之间切换
内容的提问来源于stack exchange,提问作者H.v.M.
相关产品推荐
相关产品推荐

