sublime中替换中文需用[u4e00-u9fa5]匹配,替换为半角空格;须关闭“. matches newline”和“word wrap”,再用^s+$和^\s*$清理空行。

用[u4e00-u9fa5]匹配中文,替换框填一个空格
Sublime 默认不识别中文 Unicode 范围,必须手动写正则。查中文不能靠复制粘贴“你好”再开 Regex——那样只匹配字面量,没法批量处理所有中文字符。[u4e00-u9fa5]是标准写法,覆盖常用汉字;如果还要包含全角标点(如,。!),得补上[u3000-u303fuff00-uffef]。替换框里就打一个半角空格,别用s或 ,否则可能引入不可见字符。
必须关掉 . matches newline,否则跨行匹配会崩
中文文本常含换行,但你只想每行内替,不是把整段当一行处理。右下角那个带
的图标一旦点亮,[u4e00-u9fa5]会吃掉换行符,导致前后两行“粘”在一起。实操中只要看到替换后格式错乱、缩进塌陷,八成是这个开关误开了。检查方法:面板右下角.*蓝了,但
图标是灰的——这才是安全状态。
替换前先 Ctrl+Shift+P → Toggle Word Wrap 关掉自动折行
Word Wrap 开着时,视觉上连续的中文可能被强行折到下一行,但实际仍是同一行。这时用[u4e00-u9fa5]搜,会漏掉折行处的字,或者重复匹配同一行里的字。尤其 Markdown 或 HTML 中嵌中文时更明显。关掉后能确保光标位置和行号真实对应,Find All 结果才可信。
替换后用 ^s+$ 清一遍残留空行
中文替成空格后,可能产生纯空格行(比如原先是“标题
内容”,替完变成“
内容”)。这些行不会被^s*$立刻识别,因为^s*$要求整行只有空白或为空,而^s+$能精准抓到这种“非空但全是空格”的行。操作顺序:先跑[u4e00-u9fa5]→替换→再跑^s+$→替换为空→最后补一次^s*$收尾。三步缺一不可,否则文档末尾或段落间容易卡住多余空行。











