You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单个正则表达式替换换行后的空格或制表符?

纯文本行首空白(空格/制表符)清理方案

方案一:单次正则替换

用字符类[\t ]匹配制表符或空格,结合*匹配任意数量的该类字符,一次替换完成:

const oldStr = `abc
   abc
    abc`;
const newStr = oldStr.replaceAll(/\n[\t ]*/g, "\n");

如果需要严格只清理行首的非零数量空白(避免替换空行),可以把*换成+:

const newStr = oldStr.replaceAll(/\n[\t ]+/g, "\n");

方案二:Split+Map处理

按换行分割字符串后,对每行单独清理开头空白,再拼接回去,逻辑更直观:

const oldStr = `abc
   abc
    abc`;
// 用trimStart清理所有开头空白(含空格、制表符及其他Unicode空白)
const newStr = oldStr.split('\n').map(line => line.trimStart()).join('\n');

// 若需精准只清理空格和制表符,替换为:
const newStr = oldStr.split('\n').map(line => line.replace(/^[\t ]+/g, '')).join('\n');

关于之前正则写法失败的说明

如果之前尝试过/\n *|\n\t*/g这类管道符写法,其实也能生效,但字符类[\t ]的写法更简洁高效;若失败可能是正则未加全局标识g,或字符类写法错误(比如误写为[\t| ],管道符在字符类里会被当作普通字符)。

内容的提问来源于stack exchange,提问作者johny why

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 18:35:14